如何正确在Vue中使用v-if与v-for结合?
- 内容介绍
- 文章标签
- 相关推荐
本文共计425个文字,预计阅读时间需要2分钟。
当使用v-if与v-for一起时,v-for的优先级高于v-if。这意味着v-if将分别作用于每个v-for循环中的元素。因此,不建议同时使用v-if和v-for。推荐使用如下方式:
ulliv-for=user in activeUsers :key='user.id'
当v-if与v-for一起使用时,v-for具有比v-if更高的优先级,这意味着v-if将分别重复运行于每个v-for循环中
所以,不推荐v-if和v-for同时使用
使用推荐方式:
<ul> <li v-for="user in activeUsers" :key="user.id" > {{ user.name }} </li> </ul> <ul v-if="shouldShowUsers"> <li v-for="user in users" :key="user.id" > {{ user.name }} </li> </ul>
或者:放在计算属性遍历
computed: { activeUsers: function () { return this.users.filter(function (user) { return user.isActive }) } } <ul> <li v-for="user in activeUsers" :key="user.id" > {{ user.name }} </li> </ul>
当它们处于同一节点,v-for的优先级比v-if更高,这意味着v-if将分别重复运行于每个v-for循环中。
本文共计425个文字,预计阅读时间需要2分钟。
当使用v-if与v-for一起时,v-for的优先级高于v-if。这意味着v-if将分别作用于每个v-for循环中的元素。因此,不建议同时使用v-if和v-for。推荐使用如下方式:
ulliv-for=user in activeUsers :key='user.id'
当v-if与v-for一起使用时,v-for具有比v-if更高的优先级,这意味着v-if将分别重复运行于每个v-for循环中
所以,不推荐v-if和v-for同时使用
使用推荐方式:
<ul> <li v-for="user in activeUsers" :key="user.id" > {{ user.name }} </li> </ul> <ul v-if="shouldShowUsers"> <li v-for="user in users" :key="user.id" > {{ user.name }} </li> </ul>
或者:放在计算属性遍历
computed: { activeUsers: function () { return this.users.filter(function (user) { return user.isActive }) } } <ul> <li v-for="user in activeUsers" :key="user.id" > {{ user.name }} </li> </ul>
当它们处于同一节点,v-for的优先级比v-if更高,这意味着v-if将分别重复运行于每个v-for循环中。

