路虎哥哥

导航

统计

解决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)
        }
    }
}
 
 
 

posted on   路虎哥哥  阅读(1137)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示