<!-- 给标签绑定事件处理函数 -->
<input type="text" bindinput="handleInput" bindblur="handleBlur"/>
<input type="password" />
<!-- 通过自定义属性进行传参:属性名必须以data-开头 -->
<button bindtap="handleBtn" data-opr="1" param='ok'>+</button>
<button bindtap="handleBtn" data-opr="-1">-</button>
<!-- 小程序会解析为: handleBtn(2)这是一个方法名:
handleBtn(2)(e)这是最终的方法调用
-->
<button bindtap="handleBtn(2)">*</button>
<view>
num: {{num}}
</view>
Page({
data: {
num: 0
},
handleInput: function (e) {
this.setData({
num: parseInt(e.detail.value)
});
},
handleBlur: function (e) {
this.setData({
num: 10
});
console.log(this.data.num)
},
handleBtn: function (e) {
this.data.num += parseInt(e.currentTarget.dataset.opr);
this.setData({
num: this.data.num
});
},
onLoad: function (options) {
let pages = getCurrentPages();
console.log(pages);
console.log(this === pages[0]);
console.log(this.data.num);
},
onReady: function () {
},
onShow: function () {
},
onHide: function () {
},
onUnload: function () {
},
onPullDownRefresh: function () {
},
onReachBottom: function () {
},
onShareAppMessage: function () {
}
})
- 给标签绑定事件:bingxxx=“方法名称”:只是方法名称,不能带有小括号以及参数:参数是通过自定义属性来传递的:自定义属性的名称必须以data-开头:事件源中获取自定义属性的值即获取了实际参数值
- 获取输入框的值:是通过事件源对象获取的
- 更新data中的变量的值以及界面:不是通过this.data.xxx或this.xxx完成的,而是通过
this.setData({
xxx: yyy
});