在小程序开发中会经常出现动态控制某一元素的样式(如:动态添加字体颜色或者背景)
第一步:在wxss中定义被点击和未被点击的样式,如下:
.is_checked{ border: 1px solid #FE0002 ; color: #FE0002 ; background: #fff; } .service_selection .normal{ border: none; color: #333; background: #F0F1EC; }
第二步:在js文件中的data中设置一个flag,叫他isChecked,默认isChecked==false。如下:
data: { isChecked: false }
第三步:在wxml文件中绑定点击事件,
<view bindtap="serviceSelection"></view>
在js文件中实现这个方法,并另他点击后设置isChecked==true。如下:
serviceSelection(){ this.setData({ isChecked:true }) } //this.setData()是用来修改data中实例的值的
第四步:依然是在wxml文件中进行数据绑定:
<view class="{{isChecked?'is_checked':'normal'}}" bindtap="serviceSelection"></view>
重点是这一句代码
{{isChecked?'is_checked':'normal'}}"
这是一个三目运算符,当isChecked==true时,在class加上is_checked的样式,为flase时使用normal的样式。这一点的实现类似php控制样式类名的语法。
转载案例:https://www.cnblogs.com/jiangwenxin/p/13640766.html