微信小程序 判断当前页面是重新打开,还是从其他页面返回
在小程序中设置变量用来判断是否是从其他页面返回
在 data 数据中声明一个变量 isClose, 默认为 true 。用来判断是正常打开,还是从其他页面返回。当点击跳转页面或者关闭小程序的时候,会触发 OnHide 函数,在此函数中将判断 isClose is true 的时候即为正常打开。当跳转页面时首先将 isClose 设置为 false, 这样 触发 OnHide 函数的时候,isClose is flase 并不会执行,进入跳转的页面,然后在由页面进行返回这是会触发跳转的页面的 OnUnload 函数 在此函数中 设置一个定时器 在 200ms 之后将 isClose 改为 true 这样当关闭小程序 再次进入的时候 isColse 依然为true 判断时是首次进入页面
实例
data:
data: {
isClose:true //判断当前页面是打开还是返回页
}
跳转页面:
this.setData({ isClose:false})
wx.navigateTo({
url: '../index/index?',
})
onUnload:
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
var that =this
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();
}
},