Javascript 分离v-if和v-for Vue.js 3
我已经读到,我们不应该在vuejs中把v-if和v-for放在一起。我在IDE中也有一个错误。我应该如何在代码中分离v-if和v-for,以便它遵循样式指南Javascript 分离v-if和v-for Vue.js 3,javascript,vue.js,vuejs2,vuejs3,Javascript,Vue.js,Vuejs2,Vuejs3,我已经读到,我们不应该在vuejs中把v-if和v-for放在一起。我在IDE中也有一个错误。我应该如何在代码中分离v-if和v-for,以便它遵循样式指南 <div v-for="(value, key, index) in items" v-if="value.level === undefined || value.level < level" :key="key"
<div
v-for="(value, key, index) in items"
v-if="value.level === undefined || value.level < level"
:key="key"
>
将v-if指令放入虚拟元素模板中:
将v-if指令放入虚拟元素模板中:
可以将不可见包装器元素与v-if一起使用。使用此模板的好处是,在满足条件之前,模板不会进行渲染。您可以阅读有关模板的更多信息 例如:
<div v-for="(value, key, index) in items" :key="key">
<template v-if="value.level === undefined || value.level < level"> // It won't render until v-if = true
....
可以将不可见包装器元素与v-if一起使用。使用此模板的好处是,在满足条件之前,模板不会进行渲染。您可以阅读有关模板的更多信息 例如:
<div v-for="(value, key, index) in items" :key="key">
<template v-if="value.level === undefined || value.level < level"> // It won't render until v-if = true
....
如果不希望dom上有一堆空div,请对其进行过滤
computed: {
filtered_items: function() {
return this.items.filter(v => typeof v.level === 'undefined' || v.level < this.level)
}
},
然后使用筛选的_项,而不是v-for中的项
也可以进行内联操作:
v-for=items.filterv=>typeof v.level==='undefined'| | v.level
computed: {
filtered_items: function() {
return this.items.filter(v => typeof v.level === 'undefined' || v.level < this.level)
}
},
然后使用筛选的_项,而不是v-for中的项
也可以进行内联操作:
v-for=items.filterv=>typeof v.level==='undefined'| | v.level