微信小程序——学习笔记(二):逻辑层(1)

逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。

App()函数注册一个小程序。

当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

当小程序启动,或从后台进入前台显示,会触发 onShow

当小程序从前台进入后台,会触发 onHide

当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

当小程序出现要打开的页面不存在的情况,会带上页面信息回调onPageNotFound函数


onLaunch和onshow的参数


path-打开小程序的路径

query-打开小程序的query

scene-打开小程序的场景值

shareTicket-

referrerInfo-当场景为由从另一个小程序或公众号或App打开时,返回此字段

referrerInfo.appId-来源小程序或公众号或App的 appId

referrerInfo.extraData-来源小程序传过来的数据,scene=1037或1038时支持


onPageNotFound参数

path-不存在页面的路径

query-打开不存在页面的 query

isEntryPage-是否本次启动的首个页面

getApp()函数可以用来获取小程序实例

var appInstance = getApp()
console.log(appInstance.globalData)
  • App() 必须在 app.js 中注册,且不能注册多个。
  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
  • 不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。
  • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

Page()函数注册一个页面

属性 类型 描述
data Object 页面的初始数据
onLoad Function 生命周期函数--监听页面加载
onReady Function 生命周期函数--监听页面初次渲染完成
onShow Function 生命周期函数--监听页面显示
onHide Function 生命周期函数--监听页面隐藏
onUnload Function 生命周期函数--监听页面卸载
onPullDownRefresh Function 页面相关事件处理函数--监听用户下拉动作
onReachBottom Function 页面上拉触底事件的处理函数
onShareAppMessage Function 用户点击右上角转发
onPageScroll Function 页面滚动触发事件的处理函数
onTabItemTap Function 当前是 tab 页时,点击 tab 时触发
其他 Any 开发者可以添加任意的函数或数据到 object 参数中,在页面的函数中用 this 可以访问

object 内容在页面加载时会进行一次深拷贝,需考虑数据大小对页面加载的开

初始化数据

初始化数据将作为页面的第一次渲染。data 将会以 JSON 的形式由逻辑层传至渲染层,所以其数据必须是可以转成 JSON 的格式:字符串,数字,布尔值,对象,数组。

渲染层可以通过 WXML 对数据进行绑定。

生命周期函数

  • onLoad: 页面加载

    • 一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。
  • onShow: 页面显示

    • 每次打开页面都会调用一次。
  • onReady: 页面初次渲染完成

    • 一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
    • 对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期
  • onHide: 页面隐藏

    • navigateTo或底部tab切换时调用。
  • onUnload: 页面卸载

    • redirectTonavigateBack的时候调用。



你可能感兴趣的:(微信小程序)