啦啦啦,端正态度,开始写技术博客哼哼~
刚开始练手,准备模仿朝夕日历的番茄闹钟进行语法以及布局练习:
从最简单的需求开始:点击分类,下面多一条红色border表示选中。
在Page中定义一个值tagsSelect,作为选项的参数:
Page({
...
data: {
tagsSelect:0
},
...
})
定义一个方法,来接收选项值的改变,从而改变样式:
但如果你这么写,
<view class="{{tagsSelect==6?'active':''}}" bindtap="selectTag(6)">阅读</view>
会出警告:
我们需要给所在的view标签里加一个自定义属性 data-index,来传递参数:
...
<view class="tagsRow">
<view class="{{tagsSelect==1?'active':''}}" data-index="1" bindtap="selectTag">工作</view>
<view class="{{tagsSelect==2?'active':''}}" data-index="2" bindtap="selectTag">学习</view>
<view class="{{tagsSelect==3?'active':''}}" data-index="3" bindtap="selectTag">思考</view>
</view>
...
JS中方法如下,小程序中值的修改都要用setData方法:
...
selectTag:function(event){
var $this = this;
$this.setData({
tagsSelect:event.target.dataset.index,
})
},
...
event.target.dataset.+(自定义属性名 data-后的名称)
以上。
PS:第一次写技术博客很不熟练,抛砖引玉,望各位大大指点~