如果对本例有更好的意见和建议,希望给予留言或是加群跟群主联系,交流学习。
WXML:
<block wx:for="{{nums}}" wx:for-index='idx' wx:for-item='item'> <view class="maxbox" bindtap="imgchange" data-id="{{idx}}"> <view class="zan"> <image wx:if="{{ item.id == idx }}" class="zan01" src="img/zan1.png" ></image> <image wx:else class="zan01" src="img/zan2.png"></image> </view> <text class="nums">{{item.num}}</text> </view> </block>
JS:
Page({ data: { nums: [ { id: 0, num: 11 }, { id: 1, num: 22 } ] }, imgchange: function (event) { //获取当前item的下标id 通过currentTarget.id //data-id var dataid = event.currentTarget.dataset.id; var nums = this.data.nums[dataid].num; //数据里面的id; var ids = this.data.nums[dataid].id; if ( dataid == ids ){ nums++; this.data.nums[dataid].num = nums; this.data.nums[dataid].id = ids + 1; this.setData({ nums: this.data.nums }); }else{ nums--; this.data.nums[dataid].id = ids - 1; this.data.nums[dataid].num = nums; this.setData({ nums: this.data.nums }); } }, })
效果如下: