前端知库

v-if、v-show 与列表 key 应该怎样选择?

参考答案

v-if 按条件创建或销毁对应子树,适合初始不显示或较少切换的内容;v-show 通常保留 DOM 并切换 display,适合频繁显示隐藏但可承担初始渲染成本的内容。

是否销毁会影响组件状态、生命周期与资源释放,不能只比较“哪个快”。大型隐藏区域继续保留监听和定时任务,也可能造成后台资源消耗。

列表 key 用于稳定识别元素,不应在可重排列表中随意使用下标。同一元素上组合 v-if 与 v-for 会涉及优先级和作用域,应通过计算后的列表或外层模板表达清晰逻辑。