上海企业专属网站建设平台,wordpress读者墙插件,做网站就上微赞网,网站个人备案v-if和v-for哪个优先级更高#xff1f;
结论#xff1a;
vue2输出的渲染函数是先执行循环#xff0c;在看条件判断#xff0c;如果将v-if和v-for写在一个标签内#xff0c;哪怕只渲染列表中的一小部分#xff0c;也要重新遍历整个列表#xff0c;无形造成资源浪费。vu…v-if和v-for哪个优先级更高
结论
vue2输出的渲染函数是先执行循环在看条件判断如果将v-if和v-for写在一个标签内哪怕只渲染列表中的一小部分也要重新遍历整个列表无形造成资源浪费。vue3中则相反v-if优先级高于v-for所以两者写在一个标签内如果v-if使用了v-for循环出来的变量则会有变量不存在的异常。
场景
1、过滤列表中的项目。
2、避免渲染本应该被隐藏的列表。
解决
1、通过compute返回过滤后的列表
2、外面包一层template分开v-for和v-if
源码
vue2 v2https://github1s.com/vuejs/vue/blob/HEAD/src/compiler/codegen/index.js#L65-L66
vue3 v3https://github1s.com/vuejs/core/blob/HEAD/packages/compiler-core/src/codegen.ts#L586-L587