<view class="attr-item"
@click="pickAttr(item, subItem)"
:class="{'active': item.selectedId === subItem.id}"
v-for="subItem in item.attributeList" :key="subItem.id">{{ subItem.name }}</view>
pickAttr (attr, subAttr) {
console.log('规格组:', attr)
console.log('规格:', subAttr)
attr.selectedId = subAttr.id;
attr.selectedName = subAttr.name;
this.getSkuPrice();
},
上面如vue中的事件监听写法,在uniapp编译成微信小程序的时候貌似并不支持。console出来的两个参数都是undefined,当我把这两个参数改成字符串或者数字等基础类型数据的时候,又能够成功接收到。请问uniapp编译为小程序的时候,事件传参是不是不支持传递对象参数?编译成APP的时候又是什么情况,有没有同一的写法呢?
1 个回复
helloheil (作者)
经过排查发现问题,是指定的:key="subItem.id" 为undefind引起的问题。并且如果是多层v-for嵌套,只要某一层的:key出现问题,那么这一层以及其子级循环的值都无法取到。