在vue项目中,我们可能会有些场景需要v-for和v-if同时使用,但是呢我们会发现,当用过v-for之后,在同一个标签上加v-if,就会报错(Vscode会),如下:
在这里插入图片描述
为什么呢?因为v-for的优先级比v-if高,就导致列表会先全部遍历出来,在一个一个判断是否显示,就会造成渲染了无用的dom节点,浪费了性能,我们可以使用computed来解决这个问题

<ul>
    <li v-for="i in List" :key="i" >
      {{i}}
    </li>
</ul>

computed() {
    List() {
        return [1, 2, 3, 4, 5].filter(item => item !== 3)
    }
  }

参考文章:链接: https://mp.weixin.qq.com/s/CwFAeAjlsyAFUZkzxCCvJA.

Logo

前往低代码交流专区

更多推荐