vue中v-if与v-for的优先级比较

vue2中

当他们处于同一节点时,v-for 的优先级更高,每次渲染都会先执行循环再判断条件,性能损耗较大。

解决办法:可以先通过计算属性过滤出想要渲染的数据。

vue3中

当它们同时存在于一个节 v-if 比 v-for 的优先级更高。这意味着 v-if  的条件将无法访问到  v-for 作用域内定义的变量别名


  • {{ todo.name }}
  • 解决办法:把v-if移到容器元素(ol、ul)或者外新包装一层