在vue2中,v-for的优先级是高于v-if的,如果作用在同一元素上,输出的渲染函数中可以看除会先执行循环再判断条件,哪怕只渲染列表中一小部分元素,也得在每次重渲染的时候遍历整个列表,这会造成性能的浪费
而在vue3中,v-if的优先级时高于v-for的,因此v-if执行时要调用的变量可能还不存在,会导致报错
当?Vue2 处理指令时,v-for?比?v-if?具有更高的优先级,通过v-if?移动到容器元素,不会再重复遍历??列表中的每个值。取而代之的是,只检查它一次,且不会在?v-if?为否的时候运算?v-for。
在Vue官方文档中,明确说明了不建议将v-for和v-if同时使用。因为两者作用在同一个元素时,优先级是不同的。