[vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
好像是v-for,
如果同时出现应新增template来进行v-if判断, 在子元素里面使用v-for
v-for 的优先级更高
避免出现这种情况,如果实在需要,则在外嵌套template,在这一层进行v-if判断,然后在内部进行v-for循环,避免每次只有v-if只渲染很少一部分元素,也需要遍历同级的所有元素
v-for优先级高于v-if,故如果需要两个都存在,v-if尽量在v-for的父级被包裹,避免增加无用的渲染开销。
可以使用v-show
优化:在v-for之前就把数据过滤出来,如在computed里就把不需要展示的项去除掉
当它们处于同一节点,v-for 具有比 v-if 更高的优先级。可以将v-if 置于外层元素 或 着把v-if放在上包裹着v-for。
Most helpful comment
好像是
v-for,如果同时出现应新增
template来进行v-if判断, 在子元素里面使用v-for