美文网首页
vue中v-if和v-show指令的共同点和不同点

vue中v-if和v-show指令的共同点和不同点

作者: 好多柱 | 来源:发表于2021-07-01 14:45 被阅读0次
共同点: 都能控制元素的显示和隐藏;
不同点: 实现本质方法不同,v-show 本质就是通过控制 css 中的 display 设置为 none,控制隐藏,只会编译一次;
v-if 是动态的向 DOM 树内添加或者删除 DOM 元素,若初始值为 false ,就不会编译了。
而且 v-if 不停的销毁和创建比较消耗性能。
总结:如果要频繁切换某节点,使用 v-show (切换开销比较小,初始开销较大)。
如果不需要频繁切换某节点使用 v-if(初始渲染开销较小,切换开销比较大)。

拓展:display:none 、visibility :hidden和 opacity:0的区别

display:none 隐藏,元素脱离文档流,元素不再占据页面空间,后面元素上前补位;
visibility:hidden 隐藏 ,不脱离文档流,页面不可见,但是占据位置。素仍旧存在,页面中无法触发该元素的事件
opacity:0: 元素透明度将为 0,但元素仍然存在,绑定的事件仍旧有效仍可触发执行。

相关文章

网友评论

      本文标题:vue中v-if和v-show指令的共同点和不同点

      本文链接:https://www.haomeiwen.com/subject/bnjjultx.html