一、区别
v-if
动态的向DOM树内添加或者删除DOM元素;“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;在初始渲染条件为假时,什么也不做。
v-show
通过设置DOM元素的display样式属性控制显示和隐藏;不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
总结:v-if有更高的切换消耗;v-show有更高的初始渲染消耗。
二、应用场景
1、v-if适合运行条件很少改变的情况; v-show适合频繁切换的情况。
2、对于管理系统权限列表的展示,这里可以使用v-if来渲染,如果使用v-show,对于用户没有的权限,在网页的源码中,仍然能够显示。
3、特殊情况:在el-table中控制某列的显示与隐藏只能使用v-if。