Vue中的v-if和v-for是两个常用的指令,它们可以帮助我们更好地控制页面元素的显示和隐藏,也可以帮助我们循环渲染一组数据。但是,当v-if和v-for同时出现在一个元素上时,它们之间的优先级是怎样的呢?
在Vue中,v-if优先于v-for。也就是说,当一个元素上同时存在v-if和v-for时,Vue会先执行v-if条件判断;如果条件满足(即返回true),则执行v-for循环。
<div v-if="show" v-for="item in items"> {{ item.name }} </div>
上面这段代码中存在同时存在v-if和v-for的情况。Vue会先执行show变量的判断;如果show变量返回true(即条件满足);则执行items数组中的循环遍历。
v-if
会拥有比 v-for
更高的优先级。
Vue.js 中使用最多的两个指令就是 v-if
和 v-for
,因此开发者们可能会想要同时使用它们。虽然不建议这样做,但有时确实是必须的,于是我们想提供有关其工作方式的指南。
2.x 版本中在一个元素上同时使用 v-if
和 v-for
时,v-for
会优先作用。
3.x 版本中 v-if
总是优先于 v-for
生效。
由于语法上存在歧义,建议避免在同一元素上同时使用两者。
比起在模板层面管理相关逻辑,更好的办法是通过创建计算属性筛选出列表,并以此创建可见元素。
译者:本章节大部分内容是针对母语是英文的读者,中文用户可略读,除非你想以英文文档编写者的身份参与 Vue docs 的编写,编写文...
Vue 已经遍布全球,核心团队至少在 6 个不同的时区。论坛包括 7 种语言和计数,我们的许多文档积极维护翻译。我们为 Vue 的国际...
config 是一个包含了 Vue 应用全局配置的对象。你可以在应用挂载前修改其以下 property:const app = Vue.createApp({})app.conf...
在 Vue 3 中,改变全局 Vue 行为的 API 现在被移动到了由新的 createApp 方法所创建的应用实例上。此外,现在它们的影响仅限于该...
注意所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对 property 和方法进行运算。这意味着你不能使用箭...