v-for与v-if为什么不能同时用?
在vue项目中,我们可能会有些场景需要v-for和v-if同时使用,但是呢我们会发现,当用过v-for之后,在同一个标签上加v-if,就会报错(Vscode会),如下:为什么呢?因为v-for的优先级比v-if高,就导致列表会先全部遍历出来,在一个一个判断是否显示,就会造成渲染了无用的dom节点,浪费了性能,我们可以使用computed来解决这个问题<ul><li v-for="
·
在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)
}
}
更多推荐
已为社区贡献2条内容
所有评论(0)