遍历对象 自定义 :key 时,微信小程序编译有问题
代码:
<view class="cart-info" :class="{ show: show_cart, hide: hide_cart }">
<view class="item" v-for="(product,key) in cart" :key="product.id">
<view class="left">
<view class="title">{{ product.name }}</view>
<view class="spec">{{ product.spec }} ( {{ product.unit }} )</view>
</view>
<view class="center">
<text>¥</text>
{{ product.price }}
</view>
<view class="right ">
<view class="del" @click="del(product)" >-</view>
<view class="text" >{{ product.num }} :{{product.id}}</view>
<view class="add" @click="add(product)" >+</view>
</view>
</view>
</view>
此时的 cart 是个对象【对象的key不连续】,事件传递时希望把 product 传递过去
然而查看了微信小程序的编译结果:
<view data-event-opts="{{[['tap',[['del',['$0'],[[['cart','id',product.id]]]]]]]}}" class="del" bindtap="__e">-</view>
不是我预期的值, 现在找到的临时解决方案是这样:
<view class="right ">
<view class="del" @click="del(product)" >-</view>
<view class="text" >{{ product.num }} :{{product.id}}</view>
<view class="add" @click="add(cart[key])" >+</view>
</view>
编译后的结果:
<view data-event-opts="{{[['tap',[['del',['$0'],['cart.'+key+'']]]]]}}" class="del" bindtap="__e">-</view>
现在这样才能达到我预期的效果
0 个回复