美文网首页
梳理小程序知识(十)-生命周期

梳理小程序知识(十)-生命周期

作者: chulijun | 来源:发表于2019-09-25 14:16 被阅读0次

    data

    data 是页面第一次渲染使用的初始数据

    页面加载时,data 将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。

    生命周期回调函数

    生命周期的触发以及页面的路由方式详见

    onLoad(Object query)

    页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
    参数:

    名称 类型 说明
    query Object

    onShow()

    页面显示/切入前台时触发。

    onReady()

    页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。

    注意:对界面内容进行设置的 API 如wx.setNavigationBarTitle,请在onReady之后进行。详见生命周期

    onHide()

    页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。

    onUnload()

    页面卸载时触发。如wx.redirectTowx.navigateBack到其他页面时。

    页面事件处理函数

    onPullDownRefresh()

    监听用户下拉刷新事件。

    • 需要在app.jsonwindow选项中或页面配置中开启enablePullDownRefresh
    • 可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
    • 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

    onReachBottom()

    监听用户上拉触底事件。

    • 可以在app.jsonwindow选项中或页面配置中设置触发距离onReachBottomDistance
    • 在触发距离内滑动期间,本事件只会被触发一次。

    onPageScroll(Object object)

    监听用户滑动页面事件。

    参数 Object object:
    属性 类型 说明
    scrollTop Number 页面在垂直方向已滚动的距离(单位px)

    注意:请只在需要的时候才在 page 中定义此方法,不要定义空方法。以减少不必要的事件派发对渲染层-逻辑层通信的影响。 注意:请避免在 onPageScroll 中过于频繁的执行 setData 等引起逻辑层-渲染层通信的操作。尤其是每次传输大量数据,会影响通信耗时。

    onShareAppMessage(Object object)

    监听用户点击页面内转发按钮(button 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。

    注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮

    参数 Object object:
    参数类型说明最低版本fromString转发事件来源。
    button:页面内转发按钮;
    menu:右上角转发菜单1.2.4targetObject如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined1.2.4webViewUrlString页面中包含web-view组件时,返回当前web-view的url1.6.4
    此事件处理函数需要 return 一个 Object,用于自定义转发内容,返回内容如下:

    自定义转发内容 基础库 2.8.1 起,分享图支持云图片。

    字段 说明 默认值 最低版本
    title 转发标题 当前小程序名称
    path 转发路径 当前页面 path ,必须是以 / 开头的完整路径
    imageUrl 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。 使用默认截图 1.5.0

    onResize(Object object)
    onTabItemTap(Object object)

    PageObject[] getCurrentPages()
    获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。

    注意:

    不要尝试修改页面栈,会导致路由以及页面状态错误。
    不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

    相关文章

      网友评论

          本文标题:梳理小程序知识(十)-生命周期

          本文链接:https://www.haomeiwen.com/subject/spmhyctx.html