v-for 和 v-if 可以一起使用吗?
不建议一起使用。
-
因为v-for比v-if的优先级高,所以使用的话,每次v-for都会执行v-if造成不必要的计算,影响性能,尤其是在当需要渲染很小一部分的时候。即使有100个user中只有一个需要使用v-if,也需要整个循环数组,这在性能上是极大的浪费。
那难道就没有更好的解决办法,回答:当然是有解决方法的;我们可以使用computed
computed:单独的去封装一个函数,然后判断,返回; -
第二种就是将v-if放到循环列表的元素的父元素中,或者使用template将v-for渲染的元素包起来,再在template上使用v-if。