发布网友 发布时间:2022-04-25 08:41
共3个回答
懂视网 时间:2022-05-14 15:47
在Vue中,我们可以使用v-if和v-show来控制元素或模板的渲染,而v-if和v-show也属于Vue的内部常用的指令(条件渲染)。v-if和v-show都是通过判断绑定数据的truefalse来展示的
本质的区别
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教程】
热心网友 时间:2022-05-14 12:55
不同点:v-if显示隐藏是将dom元素整个添加或删除,而v-show隐藏则是为该元素添加css--display:none,dom元素还在。
都修改为false后,第一个div是直接被移除掉了
需要注意的是,当一个元素默认在css中加了display:none属性,这时通过if-show修改为true是无法让元素显示的。原因是显示隐藏切换,只是会修改element style为display:""或者display:none,并不会覆盖掉或修改已存在的css属性。
热心网友 时间:2022-05-14 14:13
1.手段:v-if是动态的向DOM树内添加或者删除DOM元素;v-show是通过设置DOM元素的display样式属性控制显隐;