v-if 和 v-show 的区别
v-if 和 v-show 都是Vue 中经常用到的指令
相同点
两者都是用来控制元素显示或隐藏的指令
区别
v-if的显示掩藏是通过添加或删除元素实现的;v-show的显示掩藏是通过修改元素的display属性实现的。- 由于
v-if会使 DOM 发生变化,所以v-if会触发beforeUpdate和updated - 如果
v-if作用在子组件上,那么v-if从false变为true时,会触发子组件beforeCreate,created,beforeMount,mounted;从true变为false时,会触发子组件beforeDestroy和destroyed v-show的初始消耗会比较高,v-show切换消耗比较高
使用场景
如果需要非常频繁地切换,最好使用 v-show,如果不需要则使用 v-if
- 都说操作 DOM 消耗大,现在又开始流行无虚拟 DOM,前端真是看不懂