简述
由于微信小程序开发不同于以往的普通web开发, 因此无法通过js获取wxml文件的dom结构, 因此从js上直接添加一个类名应该不可能了. 可是我们可以通过微信小程序数据绑定以及view标签的"data-"自定义属性去更改标签类名.
说明
通过数据绑定在3个标签上绑定相同的变量_num
, 当点击不同标签时, 在js逻辑层中通过event.target.dataset.num
来获取标签data-num
值, 然后在wxml中通过三元运算符的匹配便可完成class名的增改,
//wxml
<view class="list-wrapper">
<view class="list-top">
<view data-num="1" class="list-menu list-menu1 {{_num==1?'cur':''}}" bindtap="menuClick">头条</view>
<view data-num="2" class="list-menu list-menu2 {{_num==2?'cur':''}}" bindtap="menuClick">活动</view>
<view data-num="3" class="list-menu list-menu3 {{_num==3?'cur':''}}" bindtap="menuClick">公告</view>
</view>
</view>
//js
menuClick:function(e){
this.setData({
_num:e.target.dataset.num
})
},
效果
我提前在cur
class中添加了样式.