需求:当用户点击不同的按钮时,按钮的颜色发生变动。(需要点击点击多个,每点击一个变一个。最要也要获取点击的id值)
思路:在渲染数据时,绑定一个标志位tag
wxml:
<block wx:for='{{type_list}}'>
<view bindtap='getTypeId'
data-listid='{{item.id}}'
data-itemall = '{{item}}'
class='{{item.tag == 1 ? " " : "active-sty"}}' >{{item.type}}</view>
</block>
js:
//选择类型数据
getTypeId:function(e){
let _this = this;
let _id = parseInt(e.currentTarget.dataset.itemall.id);
console.log(typeof _id,)
_this.setData({
'type_list[_id].tag' : 2
});
},
这种情况下会报错。
感觉小程序的实现与vue不太一样。
问题:如何实现这种需求?
试试直接用css伪类改变颜色