App构造器的参数
参数属性 类型 描述
- onLaunchFunction 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
- onShow Function 当小程序启动,或从后台进入前台显示,会触发 onShow
- onHide Function 当小程序从前台进入后台,会触发 onHide
- onError Function 当小程序发生脚本错误,或者 API 调用失败时,会触发 onError 并上错误信息
- 其他字段 任意 可以添加任意的函数或数据到 Object 参数中,在App实例回调用 this 可以访问
页面的生命周期
参数属性 类型 描述
- data Object 页面的初始数据
- onLoad Function 生命周期函数--监听页面加载,触发时机早于onShow和onReady
- onReady Function 生命周期函数--监听页面初次渲染完成
- onShow Function 生命周期函数--监听页面显示,触发事件早于onReady
- onHide Function 生命周期函数--监听页面隐藏
- onUnloadFunction 生命周期函数--监听页面卸载
- onPullDownRefresh Function 页面相关事件处理函数--监听用户下拉动作
- onReachBottom Function 页面上拉触底事件的处理函数
- onShareAppMessage Function 用户点击右上角转发
- onPageScroll Function 页面滚动触发事件的处理函数
- 其他 Any 可以添加任意的函数或数据,在Page实例的其他函数中用 this 可以访问
页面初次加载的时候,微信客户端就会给Page实例派发onLoad事件,Page构造器参数所定义的onLoad方法会被调用,onLoad在页面没被销毁之前只会触发1次。
页面显示之后,Page构造器参数所定义的onShow方法会被调用,一般从别的页面返回到当前页面时,当前页的onShow方法都会被调用。
在页面初次渲染完成时,Page构造器参数所定义的onReady方法会被调用,onReady在页面没被销毁前只会触发1次,onReady触发时,表示页面已经准备妥当,在逻辑层就可以和视图层进行交互了。
页面不可见时,Page构造器参数所定义的onHide方法会被调用,这种情况会在使用wx.navigateTo切换到其他页面、底部tab切换时触发。
当前页面使用wx.redirectTo或wx.navigateBack返回到其他页时,当前页面会被微信客户端销毁回收,此时Page构造器参数所定义的onUnload方法会被调用。
// 执行的先后顺序;在页面销毁前,onLoad与onReady仅只执行一次。
onLoad > onShow > onReady(页面可交互) > onHide > onUnload
原生组件通信
一些原生组件支持使用context来更新组件。不同于setData,使用context来更新组件并不会涉及到重渲染过程,数据通信过程也不同。在setData的数据通信流程中,数据从逻辑层经过native层转发,传入视图层的WebView,再经过一系列渲染步骤之后传入组件。而使用context时,数据从逻辑层传到native层后,直接传入组件中,这样可以显著降低传输延迟。