生命周期函数,简单双向绑定

生命周期函数

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 }}" />

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容