收藏
回答

可以监听navigateBack返回么?

我现在有两个页面A页面和B页面,A页面跳转到B页面做登录,登录成功后使用navigateBack返回到A页面,这时候我在A页面可以监听到是从B页面回来的么?不想用onshow,用onshow息屏后打开也会重新调用接口

回答关注问题邀请回答
收藏

6 个回答

  • 微盟
    微盟
    2021-04-19
    Page A:
    wx.navigateTo({
      url: '/pages/B',
      events: {
        backFn: (backParams) => {
          // TODO
          console.log(backParams)
        }
      }
    })
    
    Page B:
    const eventChannel = this.getOpenerEventChannel();
    const params = {};
    wx.navigateBack({
      complete: () => {
        eventChannel.emit('backFn',params)
      }
    })
    

    希望对你有所帮助

    2021-04-19
    有用 3
    回复 2
    • Dark horse?
      Dark horse?
      2021-06-04
      请问下我A页面的events里面的事件为什么没有触发啊
      2021-06-04
      回复
    • 🙈 、
      🙈 、
      2021-07-12
      厉害
      2021-07-12
      回复
  • Z
    Z
    2021-04-19

    https://developers.weixin.qq.com/s/n4kkvGml7Xp5 可以这样写

    2021-04-19
    有用 3
    回复
  • chh
    chh
    2021-04-19

    自定义头部导航栏,可以监听返回操作,然后标示相关页面就行。

    2021-04-19
    有用 1
    回复
  • solin
    solin
    2021-04-19

    你可以这么写


    // B 页面
    navigateBack({
      success() {
        setGlobalData({
          xxx: true,
        })
      }
    })
    
    
    // A页面
    onShow() {
      if(xxx) {
        setGlobalData({
          xxx: false,
        })
        // 处理其他逻辑
      }
    }
    
    2021-04-19
    有用
    回复 1
    • allme 仝辰
      allme 仝辰
      2021-04-19
      globalData也可
      2021-04-19
      回复
  • allme 仝辰
    allme 仝辰
    2021-04-19

    试试res.eventChannel.emit

    2021-04-19
    有用
    回复
  • 微喵网络
    微喵网络
    2021-04-19

    b页面写一个全局变量,a页面onshow里做判断

    2021-04-19
    有用
    回复
登录 后发表内容