从视图到模型 

 把输入框的值 赋值到data当中

wxml

<!--pages/eventPage/eventPage.wxml-->
<!--
1. 需要给input标签绑定 input事件
绑定关键字 bindinput
2. 如何获取 输入框的值
通过事件源来获取
e.detail.value
3. 把输入框的值 赋值到data当中
不能直接
1 this.data.num = e.detail.value
2 this.num = e.detail
正确的写法
this.setData({
num:e.detail.value
})
-->
<input class="" type="text" bindinput="changeInput"></input>
<view>
<button>+</button>
<button>-</button>
</view>

<view>
{{num}}
</view>

 js

// pages/eventPage/eventPage.js
Page({

/**
* 页面的初始数据
*/
data: {
num:0,
},
changeInput(e){
this.setData({
num:e.detail.value
})
},

})

获取: this.data.num

设置:  this.setData({num:234 })

从模型到视图

将data中值得变化反映到页面上

wxml 

<!--pages/eventPage/eventPage.wxml-->
<!--
1. 需要给input标签绑定 input事件
绑定关键字 bindinput
2. 如何获取 输入框的值
通过事件源来获取
e.detail.value
3. 把输入框的值 赋值到data当中
不能直接
1 this.data.num = e.detail.value
2 this.num = e.detail
正确的写法
this.setData({
num:e.detail.value
})
4.绑定点击事件
1 bindtap
2 无法在小程序当中的事件中直接传参
3 通过自定义属性的方式来传递参数
-->
<input class="" type="text" bindinput="changeInput"></input>
<view>
<button bindtap="changeTap" data-operation="{{1}}">+</button>
<button bindtap="changeTap" data-operation="{{-1}}">-</button>
</view>

<view>
{{num}}
</view>

js

// pages/eventPage/eventPage.js
Page({

/**
* 页面的初始数据
*/
data: {
num:0,
},
//输入框input执行事件
changeInput(e){
this.setData({
num:e.detail.value
})
},
//button点击事件
changeTap(e){
//console.log(e)
//获取自定义属性 operation
const operation = e.currentTarget.dataset.operation
this.setData({
num:this.data.num + operation
})
}

})