微信小程序的返回按钮监听

微信小程序的返回按钮监听,第1张

 通过web-view所引得页面,当点击左上角返回时,想让其返回到指定的页胡团裤面,而不是返回之前的页面时,可以这样来:

返回时跳转到index页面

var state = {

                    title: "title",

                    url: "#"

 }

window.history.pushState(state, "title"裤简, "#")

window.addEventListener("popstate", function (e) {

       wx.miniProgram.reLaunch({ url: '/pages/index/index' })

}, false)

思路就是,通过h5页面来监听小程序的返回  ,以此来实现自己的跳转。

popstate在IOS手机会自动触发,所以可以加延迟来解决这个Bug,可参考本人 https://www.jianshu.com/p/c847350a0232 这或迹篇文章来解决

在小程序的生命周期里,可以监听onUnload函数,当小程序被关闭或者被销毁时,onUnload函数会被调用。因此,我们可以在这个函数里对小程序的 *** 作做出相应的处理,实现监听小程序被销毁的功能。比如,圆稿我们可以在onUnload函早腔举数里将相关数据保存到本地,以便当小程序被销毁时,陆碧数据可以保存下来,以便小程序重新启动时,数据可以拿回来继续使用。

小程序页面返回的话会销毁当前页面实例,所以要实现监听的话可以在当前页面将要卸载时的生命周期里实现相关逻辑。

最近项目遇到这么一种情况,要求用户 *** 作多个页面,最后提交跳转到一个成功页面,这时一般是用relaunchTo(关闭所有返渗页面,打开到应用内的某个页面),但是项目本身只有一个tab页面,这时如果用relaunchTo进行跳转就会连小程序首页都销毁掉,燃烂这时就要在提交成功页面进行相关处理了。

此时用户在这个页面可能点击查看提交详情,也可能直接返回,这时皮世漏可以通过一个变量判断,如果用户点击了“查看详情”,就将变量设置为false,在当前页的将要卸载页面的生命周期通过该变量判断是否进行处理,同时用户点击了“查看详情”的话,可以在路由携带一个参数告诉跳转的目标页进行相关处理。例如我这边是告诉目标页用户返回的话,需要卸载多个页面,在Taro的生命周期可以做如下设置:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12319329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存