结论
1.v-for 优先于 v-if被解析 (源码角度分析)
2.如果同时出现,每次渲染都会先执行循环在判断条件,无论如何循环都不可以避免,浪费了性能
3.避免这个情况,外层嵌套template,在这一层进行v-if判断,在内部进行v-for循环
v-for遍历避免同时用v-if
解决方法:
计算属性使用过滤信息替代条件判断
<template>
<ul>
<li v-for='user in arr'
:key='user.id'>
{{user.name}}
</li>
</ul>
</template>
export default{
computed: {
arr: function(){
return this.user.filter(function (user) {
return user.isActive
})
}
}
}