生命周期函数
1、onLoad 监听页面加载
onLoad函数对页面状态数据的初始化,是生命周期回调—监听页面加载。一 个页面只会调用一次。onLoad函数的参数可以接收打开当前页面所调用的 query参数。
当前页面跳转detail页面后,调用query参数id。
<navigator url="../detail/detail?id={{item.Id}}" class="item" wx:for="{{subjects}}" wx:key="index">
</navigator>
detail页面中onLoad函数可以获取传递的query参数id。
onLoad: function (options) {
//获取题目的id
let {id} = options
}
2、onReachBottom 上拉触底
onReachBottom:function(){
this.data.pageIndex++
this.getSubjects()
}
[if !supportLists]1、[endif]onPullDownRefresh 下拉刷新
下拉刷新默认是关闭状态,所以需要先在.json文件中设置允许下拉刷新。
enablePullDownRefresh设置是否开启当前页面下拉刷新。
backgroundColor设置窗口的背景色。
{
"enablePullDownRefresh": true,
"backgroundColor": "#d1c2d3"
}
下拉刷新动效有默认时间。如果想改变默认的下拉时间,可以用定时器。
wx.stopPullDownRefresh()设置刷新完成后停止下拉刷新动效。
onPullDownRefresh:function(){
setTimeout(() => {
wx.stopPullDownRefresh()
}, 1000);
}
简易双向绑定
1、普通属性绑定
在WXML 中,普通的属性的绑定是单向的。如果用户修改了输入框里的值,不会同时改变 this.data.value。
<input class="txt" value="{{title}}" />
2、简易双向绑定
如果需要在用户输入的同时改变this.data.value ,需要借助简易双向绑定机制。
通过model:value的方式,将表单里面的数据跟js里面的数据进行了双向绑定。
双向绑定指的是:一处被修改,另一处也一起修改。
<input class="txt" model:value="{{value}}" />
3、双向绑定的表达式限制
只能是一个单一字段的绑定;目前,尚不能data 路径。
以下写法都是错误的:
<input model:value="值为{{value}}" />
<input model:value="{{ a + b }}" />
<input model:value="{{ a.b }}" />