v-for与v-if优先级

208 阅读1分钟

v-for与v-if优先级

在2.x时代,template代码编译时,v-for会先于v-if编译,因此v-if可以获取到v-for中的变量。编译后的代码串会优先生成所有的列表内容,然后再加上v-if判断。因此会造成不必要的性能浪费,不建议这么做。
在3.x时代,vue做了优化,v-if会先于v-for编译,因此v-if无法访问v-for中的变量。template代码编译时会报错。如果非要一起使用,v-if优先级高于v-for,避免了v-for所有列表都生成的情况。