vue指令入门

Posted smile-w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue指令入门相关的知识,希望对你有一定的参考价值。

1.  vue属性、事件、内容绑定

 

技术图片
 1 <div id="dv">
 2     <!-- v-cloak能够解决表达式闪烁问题
 3     (当网速较慢时,会先出现msg,当请求完毕后才会将数据替换) -->
 4     <p v-cloak>====msg====</p>
 5     <p>=========msg2========</p>
 6     <h4 v-text="msg">============</h4>
 7     <!--默认 v-text 没有闪烁问题-->
 8     <!-- v-text会覆盖元素中原本内容,
 9          而插件表达式不会覆盖,可在前后增加想要的元素 -->
10     <div v-text="msg3"></div>
11     <div>msg3</div>
12     <div v-html="msg3"></div>
13     <!-- v-html能够将数据当成HTML文本显示,会覆盖原有内容 -->
14     <!-- v-text与插件表达式只会讲数据当成普通文本显示 -->
15 
16 
17     <!-- v-bind:用于绑定属性的指令 -->
18     <input type="text" v-bind:value="mytitle">
19     <!-- v-bind可以简写成 : -->
20     <!-- v-bind原理是将被绑定的属性的值当成js代码执行,
21          所以可以在其中写合法的表达式-->
22     <input type="text" :value="mytitle+‘123‘" @click = "show">
23 
24     <!-- v-on:事件绑定机制 -->
25     <!-- v-on:缩写@ -->
26     <input type="button" value="按钮" v-on:click = "show">
27 </div>
28 
29 
30 <script src="./lib/vue-2.4.0.js"></script>
31 <script>
32     var vm = new Vue(
33         el: #dv,//el:代表被操作的元素
34         data://存储数据,这里面的数据名不是固定的
35             msg:123,
36             msg2:456,
37             msg3:<h1>哈哈,你好Vue</h1>,
38             mytitle:这是我自己定义的title
39         ,
40         methods://这个methods属性定义了当前Vue实例中所有可用的方法
41             show:function () 
42                 alert("hello");
43             
44         
45     );
46 </script>
vue/事件、属性、内容绑定

 

2.  v-on的事件修饰符

 

技术图片vue/v-on的事件修饰符

 

 3.  v-model双向绑定

技术图片
 1     <div id="dv">
 2         <h4>msg</h4>
 3         <input type="text" v-bind:value="msg">
 4         <input type="text" v-model="msg">
 5         <!-- v-bind只能实现数据的单向绑定 -->
 6         <!-- v-model能够实现数据的双向绑定
 7              注意:v-model只能运用在表单元素中-->
 8     </div>
 9     <script src="./lib/vue-2.4.0.js"></script>
10     <script>
11         var vm = new Vue(
12             el: #dv,
13             data:
14                 msg:123,
15             ,
16             methods:
17             
18         );
19     </script>
vue/v-model双向绑定

 4.  vue中的样式

技术图片
 1 <!-- 注意:这里的class都需要使用 v-bind 进行数据绑定 -->
 2 <div id="dv">
 3     <!-- 第一种使用方式:直接传递一个数组 -->
 4     <h2 v-bind:class="[‘red‘,‘thin‘]">hello world!</h2>
 5     <!-- 第二种使用方法:可在数组中使用三元表达式 -->
 6     <h2 v-bind:class="[‘red‘,‘thin‘,flag?‘italic‘:‘‘]">hello world!</h2>
 7     <!-- 第三种使用方法:使用对象代替三元表达式,提高可读性 -->
 8     <h2 v-bind:class="[‘red‘,‘thin‘,‘spacing‘:flag]">hello world!</h2>
 9     <!-- 第四种:使用对象代替数组 -->
10     <!--<h2 v-bind:class="red:true,italic:true,spacing:true,thin:true">hello world!</h2>-->
11     <h2 v-bind:class="obj">hello world!</h2>
12 </div>
13 <script src="./lib/vue-2.4.0.js"></script>
14 <script>
15     var vm = new Vue(
16         el: #dv,
17         data:
18             flag:true,
19             obj:red:true,italic:true,spacing:true,thin:true
20         ,
21         method:
22     );
23 </script>
24 
25 
26 
27 <div id="dv2">
28     <!-- 内联样式绑定: -->
29     <!-- 第一种:传入一个对象 -->
30     <h3 :style="color:‘red‘,‘font-weight‘:200">内联样式绑定</h3>
31 
32     <!-- 第二种:将对象提取出来 -->
33     <h3 :style="styleFlag">内联样式绑定</h3>
34 
35     <!-- 第三种:通过数组同时传入多个对象 -->
36     <h3 :style="[styleFlag,styleFlag2]">内联样式绑定</h3>
37 </div>
38 <script>
39     var vm2= new Vue(
40         el:#dv2,
41         data:
42             styleFlag:color:red,font-weight:200,
43             styleFlag2:color:#000
44         
45     );
46 </script>
vue中的样式

5.  v-for循环指令

技术图片
 1     <div id="dv">
 2         <!-- v-for遍历数组,item代表数组的每一项(与php类似),i代表每一项的索引 -->
 3         <!--<p v-for="item in arr">item</p>-->
 4         <p v-for="(item,i) in arr">项:item----索引:i</p>
 5         <br>--------------------<br>
 6 
 7         <!-- v-for遍历 对象数组,有i代表索引与上相同 -->
 8         <p v-for="user in users">user.id:user.id----user.name:user.name</p>
 9         <br>--------------------<br>
10         <!-- v-for遍历对象,出现形式为 键值对 的形式,
11         第一个参数为值,第二个参数为键,有第三个参数 i 为索引值 -->
12         <p v-for="(val,key) in obj">值:val----键:key</p>
13 
14         <!-- v-for迭代数字 -->
15         <p v-for="num in 3"></p>
16     </div>
17 
18     <script src="./lib/vue-2.4.0.js"></script>
19     <script>
20         var vm = new Vue(
21             el:#dv,
22             data:
23                 arr:[1,2,3,4],
24                 users:[
25                     id:1,name:user1,
26                     id:2,name:user2,
27                     id:3,name:user3,
28                     id:4,name:user4
29                 ],
30                 obj:
31                     id:1,
32                     name:user,
33                     sex:,
34                     age:22
35                 
36             
37         )
38     </script>
vue/v-for循环

6.  v-if、v-show判断

技术图片
 1 <div id="dv">
 2         <input type="button" value="toggle" @click="flag=!flag">
 3         <!-- v-if会重复的创建与删除元素,v-show只是切换改变display:none样式 -->
 4         <!-- v-if有较高的切换性能消耗,v-show有较高的初始渲染消耗 -->
 5         
 6         <!-- 如果元素涉及到频繁的切换,最好不要使用 v-if -->
 7         <!-- 如果元素可能永远也不会被显示出来,则不要使用v-show -->
 8         <h3 v-if="flag">这是一个v-if控制的元素</h3>
 9         <h3 v-show="flag">这是一个v-show控制的元素</h3>
10     </div>
11     <script src="./lib/vue-2.4.0.js"></script>
12     <script>
13         var vm = new Vue(
14             el:#dv,
15             data:
16                 flag:false
17             
18         );
19     </script>
vue/v-if、v-show

 

以上是关于vue指令入门的主要内容,如果未能解决你的问题,请参考以下文章

vue从入门到进阶:指令与事件

Vue入门基础—— 动态组件&插槽&自定义指令

Vue入门基础—— 动态组件&插槽&自定义指令

vue 3.x基础入门:vue 的指令与过滤器

webpack+vue+vueRouter模块化构建小demo实例超详细步骤(附截图代码入门篇)

10《Vue 入门教程》Vue 双向绑定指令