备战小程序开发-数据绑定

104 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情

绑定数据

Mustache语法:使用{{}}将变量抱起来: 通过将数据写入data中 然后再wxml中写入{{}}中就能动态绑定

<view>{{要绑定的数据名称}}</view>

绑定时间

类型绑定方式事件描述
tapbindtap或bind:tap手指触摸后马上离开,类似于html中的click事件
inputbindput或bind:input文本框的输入事件
changebindchange或bind:change状态改变时触发

事件对象的属性列表

触发回调函数时,会收到一个事件对象event

属性类型说明
typeString事件类型
timeStampinterger页面打开到触发事件所经过的毫秒数
targetObject触发事件的组件的一些属性值的集合
currentTargetObject当前组件的一些属性值的集合
detailObject额外的信息
touchesArray触发事件,当前停留在屏幕中的触摸点信息的数组
changedTouchesArray触发事件,当前变化的触摸点信息的数组
target与currentTarget的区别

因为点击事件是以冒泡的方式向外扩散的,所以也会出发到view的tap事件处理函数

此时,对于外层的view来说:

  • e.target指向的是触发事件的源头组件,因此,e.target是内部的按钮组件
  • e.currentTarget指向的是当前正在触发事件的那个组件,因此e.currentTarget是当前的view组件

bindtap 的语法个数

<button type="primary" binttap="btnBandTap">按钮</button>
btnBandTap(e){
console.log(e)
},

在事件处理函数中为data中的数据赋值

通过调用this.setData()

countChange(e){
console.log(e)
this.setData({
count : this.data.count+1
})
},

事件传参

小程序比较特殊,不能在绑定事件的同时为事件处理函数传递参数

<button type="primary" bindtap="btnHandler(123)"></button> //这样写是不对的

因为小程序会把整个bindtap绑定的值当作事件名称来处理,相当于调用了btnHandler(123)的事件处理函数. 所以我们在使用时应该只输入对应的参数。