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)
}