vuejs v-for和v-if同时使用报变量未定义

[Vue warn]: Property "image" was accessed during render but is not defined on instance. 
    at <App> vue.global.js:1630:17
[Vue warn]: Unhandled error during execution of render function 
    at <App>

Uncaught TypeError: image is undefined

查了下官方文档才找到问题所在

vue3和vue2 v-if和v-for同时使用时渲染优先级变了

vue2中v-for优先级高,同时使用v-if可以直接使用v-for的循环体数据

vue3中v-if优先级高,v-if使用v-for循环体数据时数据还未加载,就报未定义了。

无论时vue2还是3,官方都不建议两者一起使用,建议通过template嵌套

vue3文档:https://cn.vuejs.org/guide/essentials/list.html#v-for-with-v-ificon-default.png?t=N7T8https://cn.vuejs.org/guide/essentials/list.html#v-for-with-v-if

vue2文档:风格指南 — Vue.jsVue.js - The Progressive JavaScript Frameworkicon-default.png?t=N7T8https://v2.cn.vuejs.org/v2/style-guide/#%E9%81%BF%E5%85%8D-v-if-%E5%92%8C-v-for-%E7%94%A8%E5%9C%A8%E4%B8%80%E8%B5%B7%E5%BF%85%E8%A6%81

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值