• 「小程序JAVA实战」 小程序私有页面的生命周期以及导航(10)


    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-10/

    之前讲了小程序全局的生命周期,今天咱们说说单个页面的生命周期!源码:https://github.com/limingios/wxProgram.git 中的No.5

    Page页面的生命周期

    • 官方介绍

    https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html

    image.png

    • 运行小程序查看生命周期
    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
      data: {
        motto: 'Hello World',
        userInfo: {},
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo')
      },
    
      onLoad: function () {
        console.log("index->onLoad")
          this.setData({
            motto: app.globalData
          })
      },
      onReady: function () {
        console.log("index->onReady")
      },
      onShow: function () {
        console.log("index->onShow")
      },
      onHide: function () {
        console.log("index->onHide")
      },
      onUnload: function () {
        console.log("index->onUnload")
      },
    })
    
    

    加载onLoad,加载onShow,全部显示的时候调用onReady

    • 修改代码演示onHide 和 onUnload
      >增加一个绑定事件跳转的方式来演示onHide和onUnLoad
    1. navigateTo
    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
      data: {
        motto: 'Hello World',
        userInfo: {},
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo')
      },
    
      onLoad: function () {
        console.log("index->onLoad")
          this.setData({
            motto: app.globalData
          })
      },
      onReady: function () {
        console.log("index->onReady")
      },
      onShow: function () {
        console.log("index->onShow")
      },
      onHide: function () {
        console.log("index->onHide")
      },
      onUnload: function () {
        console.log("index->onUnload")
      },
      clickMe: function(){
        wx.navigateTo({
          url: '../test/test',
        })
      }
    })
    
    

    左上角有返回键

    navigateTo 可以hide

    1. redirectTo
    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
      data: {
        motto: 'Hello World',
        userInfo: {},
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo')
      },
    
      onLoad: function () {
        console.log("index->onLoad")
          this.setData({
            motto: app.globalData
          })
      },
      onReady: function () {
        console.log("index->onReady")
      },
      onShow: function () {
        console.log("index->onShow")
      },
      onHide: function () {
        console.log("index->onHide")
      },
      onUnload: function () {
        console.log("index->onUnload")
      },
      clickMe: function(){
        wx.redirectTo({
          url: '../test/test',
        })
      }
    })
    
    

    redirectTo 有onUnLoad 没有hide

    PS:这块主要是对配置的生命周期的熟悉,了解下redirectTo 和 navigateTo 之前的区别。

  • 相关阅读:
    Configure JSON.NET to ignore DataContract/DataMember attributes
    Visual Studio 独立 Shell 下载
    Xamarin.Forms 自定义 TapGestureRecognizer 附加属性
    Xamarin 自定义 ToolbarItem 溢出菜单实现(Popover/Popup) 弹出下拉效果
    xamarin.forms 动态条件更换数据模板
    Xamarin.Forms FlexLayout 布局扩展+ 模板扩展+弹性换行
    Xamarin.Forms 开发资源集合
    Xamarin Forms Api请求开源框架Refit
    Xamarin Forms error MSB6006: “java.exe”已退出,代码为 2 解决办法
    Xamarin.Forms 未能找到路径“x:platforms”的一部分
  • 原文地址:https://www.cnblogs.com/sharpest/p/10270354.html
Copyright © 2020-2023  润新知