前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >《跟热饭一起学习vue吧》Part.12 v-show

《跟热饭一起学习vue吧》Part.12 v-show

作者头像
我去热饭
发布2022-05-19 16:45:45
发布2022-05-19 16:45:45
14200
代码可运行
举报
文章被收录于专栏:测试开发干货测试开发干货
运行总次数:0
代码可运行

v-show

v-show指令和v-if指令的作用一样,都是跟后面的表达式真假来决定元素标签是否展示的。

比如:

代码语言:javascript
代码运行次数:0
复制
<h1 v-show="ok">Hello!</h1>

看到了这,很多同学都一眼就明白了。

但是紧接着就是疑惑,为什么明明已经有v-if了,还要创造个v-show出来呢?

答案很简单:他俩的真正实现技术 和 性能效果是有差异的。

简单来说就是:v-if刚进入页面时候展示的很快,但是后面动态判断来回切换真假的时候,就慢了。而v-show正好相反。

v-show 和 v-if的区别

实现技术不同

v-if是动态的向dom树里添加和删除元素

v-show是控制元素的display样式来决定是否隐藏显示元素

编译过程不同

v-if切换过程比较麻烦,要来回销毁或重建元素所关联的一些事件函数,子组件等等。

v-show则不用考虑这些。

依赖条件不同

v-if 是惰性的,如果初始为假,那么它什么都不做。只有第一次变成真的时候,才开始添加元素和关联的一堆东西。

v-show 则不管真假,都会刚进页面开始就编译,就执行,所以在一开始初始化时候要略慢于v-if。

性能消耗不同

v-if 来回切换显然性能消耗代价更大 v-show 则是在初始化时候性能消耗代价更大

使用场景不同

v-if适合不频繁变化的场景 v-show适合频繁切换真假的场景

好了本节课就到这里,怎么样,是不是感觉很简单???

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档