解决VUE中v-for与v-if 不能同时使用的规则
v-for的优先级比v-if高。
解决方法1:修改eslint配置文件忽略v-for与v-if 不能同时使用的规则
.eslintrc.js rules中添加
"vue/no-use-v-if-with-v-for": ["error", {
"allowUsingIterationVar": true //允许使用迭代变量
}]
解决方法2:增加template虚拟标签
将 v-if 和 v-for 分别放在不同标签中
<ul v-if="active">
<li v-for="(item, index) in list" :key="inde">
<p>{{item.name}}</p>
</li>
</ul>
解决方法3:使用计算属性
如果 v-if 和 v-for 只能放在同一级标签中,使用计算属性进行改造:
let title = "自定义"
<ul v-for="(item, index) in lists(list, title)" :key="index">
<li>{{item.name}}</li>
</ul>
computed: {
lists () {
return (item, name) => {
return item.filter(item => item.name !== name)
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人