Vue中v-if和v-for同时使用时,如何避免性能问题及最佳实践是啥?
- 内容介绍
- 文章标签
- 相关推荐
本文共计420个文字,预计阅读时间需要2分钟。
当v-if与v-for一起使用时,v-for的优先级高于v-if。这意味着v-if会分别应用于每个v-for循环中。因此,不建议同时使用v-if和v-for。使用推荐方式:`ul v-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循环中。
本文共计420个文字,预计阅读时间需要2分钟。
当v-if与v-for一起使用时,v-for的优先级高于v-if。这意味着v-if会分别应用于每个v-for循环中。因此,不建议同时使用v-if和v-for。使用推荐方式:`ul v-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循环中。

