v-if
v-if / v-if-else / v-else
写指令表达式,并且结构必需紧挨在一起
在没有标签时可以用 <template>
标签代替
v-if 是对 DOM 的移除和添加,在移除的时候用注释节点占位;
对内部的子组件与事件监听都会销毁与重建
v-if 只有条件是 truthy 的时候,才会渲染(惰性渲染)
v-show
v-show 总是会被渲染、用 display 来控制其显示与隐藏
区别
- v-if
- 在切换的时候会提高开销,如果条件为假值,初始化渲染是不会进行的
- 如果切换不频繁,(加载时不需要的视图),可以用 v-if
- v-show
- 在切换的时候开销较低,但是初始化渲染时无论显示与否都要被渲染
- 如果切换频繁就用 v-show