时间:2021-07-01 10:21:17 帮助过:52人阅读
微信小程序判断页面是否从其他页面返回,具体内容如下所示:
在 data 中自定义一个标记变量,在onLoad里
Page({ data: { isNewOpen: true, //判断当前页面是新打开还是从其他页面返回 list: [], page: 0 }, onLoad: function() { this.getList() }, getList () { // ... }, goDetail (e) { this.setData({ isNewOpen: false }) wx.navigateTo({ url: `/pages/detail/detail`, }) }, onShow: function () {if (!this.data.isNewOpen) { this.setData({ page: 2, // 页码 isClose: true, list: [] }) this.getList() } }, })
ps:下面看下微信小程序 判断当前页面是重新打开,还是从其他页面返回
在小程序中设置变量用来判断是否是从其他页面返回
在 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(); } },
总结
以上所述是小编给大家介绍的微信小程序判断页面是否从其他页面返回的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!