为什么v-if和v-for不建议用在同一标签

Posted 哈娄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么v-if和v-for不建议用在同一标签相关的知识,希望对你有一定的参考价值。

 如下列代码:

<div v-for="item in [1, 2, 3]" v-if="item == 1">
    item
</div>

v-for的优先级比v-if高,所以会先循环出来,然后再进行item每个 v-if判断。这样就无用的多渲染好多次dom。

解决办法:

用computed写法代替

<div v-for="item in list">
    item
</div>

computed() 
    list() 
        return [1, 2, 3].filter(item => item == 1)
    
  

以上是关于为什么v-if和v-for不建议用在同一标签的主要内容,如果未能解决你的问题,请参考以下文章

为什么v-if和v-for不建议用在同一标签

v-for和v-if不能直接一起使用

vue的一些小记录

vue中v-if和v-for指令最好不要同时使用

为啥v-if和v-for不建议同时使用

避免v-if和v-for用在一起