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

本文深入讲解小程序中Page页面的生命周期,包括onLoad、onReady、onShow、onHide和onUnload等关键阶段的作用及触发条件,并通过代码示例对比navigateTo和redirectTo的区别。

转自: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 之前的区别。

转载于:https://www.cnblogs.com/sharpest/p/10270354.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值