Vue的官方指令
-
插值表达式({{}})
-
内容指令(v-text和v-html)
相同点:都是可以让html标签里的内容变成动态的
不同点:v-text和{{}}相当于innerText不会解析html代码,原样输出。
v-html等价于innerHTML:会解析html代码
-
对比v-text和插值({{}})表达式
1)、当网络速度慢的时候,插值表达式会在页面上出现 {{}} 的显示,但是指令v-text不会,因为,v-text是自定义属性,最多不做解读。当,标签中的内容全部来自于属性,那么,可以使用v-text。
2)、插值表达式更加灵活,可以在标签里面的某个地方显示,但是v-text会让整个标签的内容全部变化。
-
属性指令(v-bind可简写为:)
功能:可以让html标签里的属性(名和值)变成动态的(从data中获取)
![在这里插入图片描述](https://img-blog.csdnimg.cn/38c67910220b4ce7ae3ae2c9f699e22c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
> 数据可以是表达式
> 注意:在dom里面插入数据,除了可以写原始的数据,还可以使用javascript表达式,不能使用语句,条件语句可以使用三元表达式代替
![在这里插入图片描述](https://img-blog.csdnimg.cn/57e736e27dfb4a098b41b9f3be44febb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
例1、v-if
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d6adfec151d48c5ac068545e9535b1f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
例2、v-show
![在这里插入图片描述](https://img-blog.csdnimg.cn/e36138795ef2432dbc730b7852dbc098.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
循环的几种情况
![在这里插入图片描述](https://img-blog.csdnimg.cn/333dad2f6f3c47739ae6008078c92903.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
循环json
![在这里插入图片描述](https://img-blog.csdnimg.cn/d342cb2c1e274078a9e648ecc9db95e4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/3e2c43979ccb494ca6b46e4215ce3419.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e7524a6e264441a0883fdf4f93e01f07.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
获取事件对象event
不传参,默认第一个参数,就是事件对象
![在这里插入图片描述](https://img-blog.csdnimg.cn/9d6f8e79609b467bab5d6cfdac918023.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
传参,事件对象需要手动传入(使用vue框架官方提供的 $event)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2240049e6a364bba80cc655f37d4a3e2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
事件处理函数的this
1、methods选项里的函数里的this都是vue对象本身,所以,事件处理函数里的this也是vue对象本身
2、vue提供的选项的值如果是函数时,不可用箭头函数 , 会造成this丢失
事件修饰符
![在这里插入图片描述](https://img-blog.csdnimg.cn/f823a8bc17574d3f95feab35b115db99.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
注:使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.stop.self 会阻止所有的点击,而 v-on:click.self.stop 阻止自身的点击,stop就不起作用了
按键修饰符
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c788354cb204767a37b4b149fe4f3fe.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
通过属性+事件(input事件)来实现双向绑定
![在这里插入图片描述](https://img-blog.csdnimg.cn/3dbfccccbdcc4fdb9bb48be4c23bb978.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(文本框text)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a00b061932f4458b88c70fe962c48f82.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(单个复选框checkbox)
![在这里插入图片描述](https://img-blog.csdnimg.cn/40d1a8389efc47fbaec8c64f817803e1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(多个复选框checkbox)
![在这里插入图片描述](https://img-blog.csdnimg.cn/af6c3851aae048d494f7ddb067033407.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(单选框radio)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cadb23cea4bb4def84cb7c8d2375740f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(下拉框select)
![在这里插入图片描述](https://img-blog.csdnimg.cn/83519a36eb6c4ea499b2f066eeb35aa5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(值是动态的)
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c634b2b0f7145ccae4657dbe39dba08.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
双向绑定(单个复选框值是自定义的)
![在这里插入图片描述](https://img-blog.csdnimg.cn/877b40384df043cb81c606977d825306.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
表单修饰符![在这里插入图片描述](https://img-blog.csdnimg.cn/b5cbce479c9d4235866ffa360dbab7fe.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6JC956yUfg==,size_20,color_FFFFFF,t_70,g_se,x_16)
防闪烁(v-cloak只写指令)
防闪烁,模板没编译完,电脑配置差,有可能会看到{{}},体验不佳,不如用css先隐藏,之后再显示,包括被包裹的子元素。这个指令保持在元素上直到关联实例结束编译。和CSS 规则,如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache
标签直到实例准备完毕。
只渲染一次(v-once只写指令)
只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。
加快编译(v-pre只写指令)
跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache
标签。跳过大量没有指令的节点会加快编译。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)