0x5 精读Vue官方文档 - 条件渲染

230 阅读1分钟

精读 Vue 官方文档系列 🎉

v-if / v-else-if / v-else

Vue 的条件判断指令。

条件分组判断

将 vue 条件指令添加到 <template> 元素上。实现对一组的元素进行判断。

使用 key 来管理可复用的元素

Vue 的 diff 算法中,如果 key 值不同,则会重新计算与渲染,因此若想高复用某个组件或元素,可以保持其 key 值唯一固定。

v-show 与 v-if

v-show 指令绑定的元素依然会被渲染,只是处于隐藏状态 (display:none),而 v-if 则是只有条件成立才会去真的渲染元素。

注意,v-show 不支持 <template> 元素。

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

在纯 JavaScript 驱动的版本中,如果页面层级过多,可能会导致 v-show 初始渲染时导致元素闪烁,最佳的解决办法就是使用 v-cloak 指令并事先在 HTML 中内联 [v-cloak]{ display:none } 样式结合使用。

v-if 与 v-for

v-if 指令与 v-for 指令不能同时用在一个元素上,并且 v-for 的优先级要高于 v-if 指令。