在微信小程序中 判断当前页面是重新打开,还是从其他页面返回,还是tabbar切换页面

该博客介绍了在小程序中如何管理和判断页面状态。通过设置`isClose`变量跟踪页面是否正常打开,`OnHide`函数检测页面隐藏时的条件,`OnUnload`用于页面卸载时的处理,而`onTabItemTap`监听tabbar切换事件。利用缓存值在页面间传递信息,确保正确识别页面切换路径。
摘要由CSDN通过智能技术生成

1.在 data 数据中声明一个变量 isClose, 默认为 true 。用来判断是正常打开,还是从其他页面返回。
2.当点击跳转页面或者关闭小程序的时候,会触发 OnHide 函数,在此函数中将判断 isClose is true 的时候即为正常打开。
3.当跳转页面时首先将 isClose 设置为 false, 这样 触发 OnHide 函数的时候,isClose is false并不会执行,
4.tabbar切换页面,会触发 OnUnload 函数, 可以设置缓存值,来判断是否点击tabbar切换页面

data初始值

 data: {
    isClose:true     //判断当前页面是打开还是返回页还是切换页面
   }

跳转页面

	this.setData({ isClose:false})
    wx.navigateTo({
      url: '../index/index',
    })

onUnload监听页面卸载

 /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    var that =this
    wx.setStorageSync('pd',3);
    setTimeout(function () {
      that.setData({ isClose: true })
    }, 200)

  },

onHide监听页面隐藏

   /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    if (this.data.isClose) {
      console.log('重新打开')
    }
  },

onShow监听页面显示

   /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log(this.data.isClose)
    if (!this.data.isClose) {
      this.onLoad();
    }
  },

tabbar菜单页面切换

利用页面之间不同的的缓存值

	var pd=wx.getStorageSync('pd');
    if(pd==1){
      this.setData({ isClose:false})
    }

监听 tabbar 切换事件

/**
* 监听 TabBar 切换点击
*/
	onTabItemTap: function (item) {
	  console.log(item)
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值