Vue · 单选题 · 第 53 题
前端与全栈开发面试 · 第 53 题
关于 v-if 和 v-show,下列说法正确的是?
- Av-show 为假时不渲染元素,v-if 只是切换 CSS 的 display
- Bv-if 为假时不渲染元素,v-show 只是切换 CSS 的 display
- C两者为假时都会把元素从 DOM 中移除,只是写法不同而已
- Dv-show 可以用在 template 标签上,v-if 则不能这样使用
答案
B B. v-if 为假时不渲染元素,v-show 只是切换 CSS 的 display
解析
v-if 是真正的条件渲染,切换时会销毁和重建元素及组件,初始为假时没有渲染开销;v-show 元素始终存在,只切换 display。频繁切换用 v-show,很少改变或初始多半为假时用 v-if。v-show 不支持 template 标签,也不能和 v-else 配合。