面试题答案
一键面试v-if优先使用场景及原因
- 场景:当元素在运行时条件很少改变时,优先使用
v-if
。例如,根据用户的角色来决定是否显示某个管理功能模块,而用户角色在整个应用运行期间基本不会改变。 - 原因:
v-if
是“真正”的条件渲染,它会在条件为假时,从 DOM 中移除该元素及其所有的子节点,条件为真时才重新创建元素并插入到 DOM 中。这种方式对于不常改变显示状态的元素,不会造成不必要的 DOM 操作开销。
v-show优先使用场景及原因
- 场景:当需要频繁切换元素的显示与隐藏状态时,优先使用
v-show
。比如,一个下拉菜单的显示与隐藏操作。 - 原因:
v-show
只是简单地切换元素的display
CSS 属性,元素始终保留在 DOM 中。频繁地切换display
属性的开销要比频繁地创建和移除 DOM 元素小得多,所以在这种频繁切换的场景下,v-show
性能更优。