跳到主要内容

Vue中的v-if和v-for为什么不能一起用?

· 阅读需 1 分钟

假如v-if和v-for一起使用会出现什么情况?

<ul>
<li v-for="(item,index) in arr " v-if="flag" :key="index" >
{{item}}
</li>
</ul>

一起使用,会出现下面的错误提示:

image.png

为什么不能一起使用?

因为v-for的优先级比v-if的优先级高,所以如果嵌套使用的话,每次v-for都会执行一次v-if,造成重复计算的问题,会影响性能,所以vue官方不推荐这样使用。