阐述
最近在公司做微信小程序,退出的时候可以正常退出,但是用手机的物理返回键的时候还能继续返回到上一个页面,这样就相当于没有退出,以下说下我的解决方法。
解决方案如下
1,要使用微信的“redirectTo”来进行跳转,不能使用”navigateTo“,来进行跳转到登录页面。代码如下
wx.redirectTo({
url: '/pages/login/login'
})
官方解释:wx.navigateTo(Object object)
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
自己理解:
保留当前页面,跳转到应用内的某个页面,使用 wx.navigateBack 可以返回,有时候我们跳转还需要携带参数。可以使用navigateTo来回跳转10个页面栈,这样来说就是10个页面可以互相传参。
wx.navigateTo跳转携带参数
toall() {
let self = this
wx.navigateTo({
url: '../persondata/persondata?CustomerID='+self.data.CustomerID,
})
},
传递的参数在接收页面onLoad()函数用过option.CustomerID就可以取到值
onLoad: function (options) {
//接收用户页面传递的CustomerID,存储data里面
this.setData({
CustomerID:options.CustomerID
})
this.doqueryDetail()
},
官方解释wx.redirectTo(Object object)
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
自己理解:
意思就是不会保存上一个页面栈,跳转过去上一个页面生命周期就销毁了,用途可以做退出登录,或者使用完以后不让返回上一个页面的,比如支付订单可以使用wx.redirectTo跳转。不能返回上一个页面。