Vue中v-if和v-show的区别是什么?

不言
不言 原创
2020-09-08 15:37:42 20238浏览

Vue中“v-if”和“v-sh”的区别是:1、“v-show”只编译一次;而“v-if”不停地销毁和创建;2、“v-if”更适合于带有权限的操作,渲染时判断权限数据;3、v-show更适合于日常使用,可以减少数据的渲染,减少不必要的操作。

在Vue中,我们可以使用v-if和v-show来控制元素或模板的渲染,而v-if和v-show也属于Vue的内部常用的指令(条件渲染)。

v-if和v-show都是通过判断绑定数据的true\false来展示的

本质的区别

vue-show本质就是标签display设置为none,控制隐藏

vue-if是动态的向DOM树内添加或者删除DOM元素

编译的区别

v-show其实就是在控制css

v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件

编译的条件

v-show都会编译,初始值为false,只是将display设为none,但它也编译了。

v-if初始值为false,就不会编译了。

性能的区别

v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。

用法的区别

v-if更适合于带有权限的操作,渲染时判断权限数据,有则展示该功能,没有则删除。v-show更适合于日常使用,可以减少数据的渲染,减少不必要的操作。

如果你的页面不想让其他程序员看到就用v-if,它不会在页面中显示。

【相关推荐:JavaScript教程

以上就是Vue中v-if和v-show的区别是什么?的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。