6、Vue指令
指令:带有v-前缀的特殊标签属性
(1)v-html
作用:设置元素的innerHTML
语法:v-html="表达式"
示例:
提供一个地址,这里是百度的地址,通过v-html渲染
![](https://i-blog.csdnimg.cn/direct/f69e7a40430648a1912270e5c3c0f2f9.png)
![](https://i-blog.csdnimg.cn/direct/ad8b5af286c94e6a875b4910132faa03.png)
结果:
![](https://i-blog.csdnimg.cn/direct/1c26d39bd9ae4dc29372163dd8f0e29f.png)
(2)v-show与v-if
1)v-show
①作用:控制元素显示与隐藏
②语法:v-show="表达式",表达式值true显示,false隐藏
③原理:切换display:none控制显示器
④场景:频繁切换显示隐藏的场景
2)v-if
①作用:控制元素的显示与隐藏(条件渲染)
②语法:v-if="表达式",表达式值true显示,false隐藏
③原理:基于条件判断,是否创建或移除元素节点
④场景:要么显示,要么隐藏,不频繁切换的场景
3)区别
当表达式值为true时,无显著区别,当值为false时,v-show通过控制css的display:none来控制显示与隐藏
4)示例
提供一个布尔值和两个盒子
值为true时
![](https://i-blog.csdnimg.cn/direct/9354d199baa741f6a592791295090787.png)
![](https://i-blog.csdnimg.cn/direct/58e01032fc674c0aa8106e3079b56b8a.png)
![](https://i-blog.csdnimg.cn/direct/0a94e1b5359c4f979c2a58d5c78e5493.png)
值为false时
![](https://i-blog.csdnimg.cn/direct/f7b28f2a27844e8e8fc5b0b64e46cccd.png)
(3)v-else与v-else-if
①作用:辅助v-if进行渲染判断
②语法:v-else 、 v-else-if="表达式"
③注意:需要紧挨着v-if一起使用
1)示例
①v-else
代码
![](https://i-blog.csdnimg.cn/direct/d51090a1b4ab4be89e6a305cecd37b24.png)
结果
![](https://i-blog.csdnimg.cn/direct/32d864a41fdd41209c76d5c6d1ee14ea.png)
②v-else-if
代码
![](https://i-blog.csdnimg.cn/direct/b405b4e7761043a590af5cf0aeb05279.png)
结果:
![](https://i-blog.csdnimg.cn/direct/7898233b4d934302a0ec077c68099406.png)
(4)v-on
1)作用:注册事件=添加监听+提供处理逻辑
2)语法:
①v-on:事件名="内联语句"
②v-on:事件名="menthod中的函数名"
3)简写:@事件名
4)示例:
内联:
代码:
![](https://i-blog.csdnimg.cn/direct/73ebd91b5a074e41838f78877170c6ed.png)
结果:
![](https://i-blog.csdnimg.cn/direct/8d13cbdfd01b485d897c36745028a0b2.png)
![](https://i-blog.csdnimg.cn/direct/16203a0b0755419fbf1bd61e7413da7c.png)
![](https://i-blog.csdnimg.cn/direct/b41b9ee279d8455d936583d2e0b6407f.png)
函数:
代码:
![](https://i-blog.csdnimg.cn/direct/4054e18a88f4423e9128b32d93a26a58.png)
结果:
![](https://i-blog.csdnimg.cn/direct/8a790fa79eb14eecab3ec2f0ec342fd6.png)
点击"切换显示与隐藏"
![](https://i-blog.csdnimg.cn/direct/d44fea5e712c4c29be6a96fd4a00f139.png)
5)
利用v-on传参,参数名()
代码:
![](https://i-blog.csdnimg.cn/direct/1e0be680cf3943a0b71210adbfcdd4ea.png)
结果:
![](https://i-blog.csdnimg.cn/direct/fbd31bda041e42189710b5d55bbf5a02.png)
(5)v-bind
1)作用:动态设置html的标签属性->src 、url等
2)语法:v-bind:属性名="表达式"
3)简写:":属性名=表达式"
4)示例:
代码:
![](https://i-blog.csdnimg.cn/direct/fa7db67486194da4a5264c8f693e74b5.png)
效果:
![](https://i-blog.csdnimg.cn/direct/4e7772619d454e828fe7a4324b7b1389.png)
(6)v-for
1)作用:基于数据循环,多次渲染整个元素->数组、对象、数字...
2)语法:v-for="(item,index) in 数组",item-数组中的每一项,index-数组的下标
3)v-for中的key:
①语法: key属性="唯一标识"
②作用:给列表项添加唯一标识,便于Vue进行列表项的正确排序复用。
③注意
-
如果不加key,v-for的默认行为会尝试原地修改元素(就地复用)
-
Key的值只能是字符串或数字类型
-
Key的值必须具有唯一性
-
推荐使用id作为key,不推荐使用index作为key,(index会变化)
代码:
![](https://i-blog.csdnimg.cn/direct/7abf64a764d1461885e1d38cf5e3e0f3.png)
结果:
![](https://i-blog.csdnimg.cn/direct/00cb23fb9ed24b34b8d51ec64d72ec68.png)
(7)v-model
1)作用:给表单元素使用,双向数据绑定->快速获取或设置表单元素内容
(数据变化->视图更新,视图变化->数据更新)
2)语法:v-model="变量"
3)示例:
代码:
![](https://i-blog.csdnimg.cn/direct/e1fd04b39eb340baa6f06fbc24fe231e.png)
结果:
![](https://i-blog.csdnimg.cn/direct/dad98210ba9e45b1a579b170f6b66d29.png)
![](https://i-blog.csdnimg.cn/direct/8818133fc4464739b7477cbf2dd2ee40.png)
点登录:
![](https://i-blog.csdnimg.cn/direct/0cc8b59fc0dd4e3cab79e855def47dfe.png)
点重置:
![](https://i-blog.csdnimg.cn/direct/6e22b690c6d745fb88d7a0b6b57e7cc3.png)