正常 A ->B ->C 都是通过 wx.navigateTo 跳转的,所以 wx.navigateBack 只能返回上一界面,如果要返猛空回到A 界面就会出现 C ->B ->A 的效果。
如果想实现 A ->B ->C 当 C 点击返回时, 实现直接 C ->A 这种效果, 就只能A ->B 通过 wx.navigateTo 跳转 ,
B ->C 通过 wx.redirectTo 跳转,跳转触发后 B 页面就会被销毁, C 页面再返回 wx.navigateBack 就会直接到 A 了。
第一个页面采用navigateTo,
在第二个页面中使用redirectTo。
在第三个页面点击回退时,会直接回到第一个页面。(wx.redirectTo()跳转到新页面之后,会自动销毁上一个页面,在新页面点击返回喊知搭按钮时,会直接回到上上一个页面)
小程序5种跳转页面方式的区别:
通过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 这或迹篇文章来解决
想实现从页面A ->页面B ->页面C,此时如果在页面C点击返回时,实现直接从页面C返回到页面A这种效果渣激。
如果是要实现这种效果的话,可以试试在从页面A ->毕梁模 页面B的时候通过 wx.navigateTo 跳转,而从页面B ->页面C通过 wx.redirectTo 跳转。跳转触发后页面B就会被销毁,此时页面C再点击返回 wx.navigateBack 就会直接返回到页面手缓A了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)