解决微信小程序退出登录的时候,用手机物理返回键还是能返回上一个页面

阐述

最近在公司做微信小程序,退出的时候可以正常退出,但是用手机的物理返回键的时候还能继续返回到上一个页面,这样就相当于没有退出,以下说下我的解决方法。

解决方案如下

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跳转。不能返回上一个页面。

你可能感兴趣的:(小程序)