Vue模板指令——v-if、v-show、v-for的作用

v-if:控制DOM的存在与否

在这里插入图片描述

页面结果如下👇
在这里插入图片描述
上述例子功能:通过点击button实现对文字的显示和隐藏。
代码分析

  • 在button上绑定一个点击事件,通过handleClick事件改变show属性的值为false或true。
  • v-if判断:当show为false时,页面会将hello world标签从DOM里面删除。当show为true时,页面会将hello world标签重新添加到DOM里面。

v-show:控制DOM的显示与否

将上述例子中的 v-if 改为 v-show 同样可以实现hello world标签的显示与否。

v-if 和 v-show的区别:

v-if 对dom节点的操作结果如下:节点被移除
在这里插入图片描述
v-show 对dom节点的操作结果如下:节点被隐藏
在这里插入图片描述

  • v-if 当它的指令为false的时候,会将标签直接从DOM里面移除。
  • v-show当数据项指令为false时候,自动向div添加css为display:”none“的属性,此时该div块会被隐藏不会从节点中清除。

结论:如果需要频繁的对DOM标签进行显示和隐藏的操作, 用v-show性能更高,因为每一次的操作它不需要去销毁DOM再重新添加DOM。但如果这个标签的操作次数没有那么多的话,用v-if是个更好的选择。

v-for:数组循环展示

在这里插入图片描述
页面结果如下👇
在这里插入图片描述

上述例子功能:将list数组的内容通过循环输出到页面上。
对v-for添加一个名为key的属性
在这里插入图片描述

代码分析:

  • 循环list数据列表,每一项的内容都会别暂时放到item里面,每一项内容在列表里面的位置(即下标)则会被存到index里面。
  • 使用v-for的时候添加一个名为key值的属性,可提高渲染性能,避免数据混乱的情况。(key值要求每一项的值都不能重复,因此可用数组的下标作为key值)
  • key值的内容是不能重复的,用index来作为item数据的下标可避免key值出现重复的情况,但是如果数据需要不断做刷新处理,用index还是会出现问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值