在真实项目中,强烈不建议v-for和v-if作用在相同的元素上,因为存在优先级的问题
Vue2中:v-for的优先级高于v-if,如果作用在相同元素上,很可能出现刚创建就被销毁「浪费性能」!
Vue3中:v-if的优先级高于v-for,如果作用在相同元素上,这样在v-if中是无法使用v-for中item/index的如何解决?基于template标签,把v-for和v-if分开即可!「template标签不能设置key属性」
html
<ul>
<template v-for="(item,index)in list">
<li v-for="(item,index)in list" :key="index" v-if="item.age<=35"> 姓名: {{item.name}}
</li>
</template>
</ul>