如何正确在Vue中使用v-if与v-for结合?

更新于
2026-10-01 07:24:53
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计425个文字,预计阅读时间需要2分钟。

如何正确在Vue中使用v-if与v-for结合?

当使用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分钟。

如何正确在Vue中使用v-if与v-for结合?

当使用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循环中。

阅读全文