代码如下
<view v-for="(item,index) in flist" :key="item.id">
<view v-for="titem in item" @click="navTo(titem.id)" :key="titem.id">
....
....
navTo(id){
console.log(id);
}
子循环中,函数中的参数获取不到循环数据
chrome下运行H5正常显示。
真机app下提示:v-for 暂不支持循环数据:undefined,
绑定的数据、{{}}中的内容都正常显示,就是函数中的参数获取不到循环数据。
请问有解决的办法吗?
13 个回复
8***@qq.com
大家检查俩次遍历的key值是否有效,for循环没有key值时拿不到item的。key值尽量为id。没有就取索引
6***@qq.com
这样试试
fineline (作者)
不行,navTo(item[index].id)里面,item就是个和index相同的数字
2019-08-23 23:24
6***@qq.com
这样试试
flybird
坑,一样的问题,双循环不支持
半晴雨滴 - 选择我所爱的,爱我所选择的。
遇到一样的问题,H5上没问题,App和小程序上可可以遍历并渲染,但是点击事件拿不到数据。
半晴雨滴
问题解决了,是第一个循环key的取值为undefined的问题。把key的问题解决就行了。
2019-09-10 20:09
2***@qq.com
我也遇到同样的问题,这种问题不是很常见吗,很奇怪这个bug竟然留这么长时间。。
5***@qq.com - 小白白
全用索引,别直接取数据,
5***@qq.com - 小白白
全用索引,别直接取数据,
UNIAPP郭 - 510587
请问解决了吗?
j***@qq.com
我的解决了。第一次v-for的:key取值有问题。item.id去掉id就好了
2021-04-06 15:27
996上班族 - 996上班族
undefined和null is not an object 是最常见的app不兼容小程序代码的问题,出现问题第一个就要考虑这方面。
j***@qq.com
867604340@qq.com 说得对。我是第一次v-for里的:key用了item.id。但是item里没有id。直接用item就取到了。
全栈工程师 - 精通mui、uniapp,承接相关项目外包,解决各种疑难问题。有任何问题可以随时联系,QQ:419761282
索引取值的问题
人麻麻的
我的也是这样的问题,把第一层循环的key值写成索引就好了,真吭...