[微信小程序开发Bug]:redirectTo:fail can not redirectTo a tabbar page

jupiter
2023-05-01 / 0 评论 / 374 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年05月01日,已超过361天没有更新,若内容或图片失效,请留言反馈。

1.应用场景

最近在做一个小程序开发,用户登录功能登录后使用了wx.redirectTo()跳转回用户主页属于tabar的,使用调试器的时候跳转正常,用真机调试的发生了redirectTo:fail can not redirectTo a tabbar page的报错。查询后发现属于tabbar的页面,只能通过wx.switchTab来跳转

  wx.redirectTo({
      url: '/pages/usercenter/index/index',
  })

2.问题解决

wx.switchTab({  
    url: '/pages/usercenter/index/index',
    success: function (e) {  
        var page = getCurrentPages().pop();  
        if (page == undefined || page == null){
            return; 
        } 
        page.onLoad();  
    }
})
  • 备注:直接使用wx.switchTab跳转到已经创建的页面不会导致页面刷新,对于发生了用户信息修改的如修改个人信息后的跳转回原页面需要重新加载用户信息,可以在跳转参数里加入跳转成功后对页面的数据进行刷新。

3.几种跳转方式比较

  1. wx.redirectTo:关闭当前所在页面,再跳转到指定的非TabBar页面。不受页面层数限制。
  2. wx.navigateTo:不关闭当前所在页面,跳转到指定的非TabBar页面,注意页面路径限制是五层。左上角会显示一个返回按钮,可以直接返回到上一层页面。
  3. wx.switchTab:只可以跳到属于tabBar的页面。

参考资料

  1. 微信小程序 报错:{“errMsg“:“redirectTo:fail can not redirectTo a tabbar page“}及路由跳转总结
  2. 解决微信小程序switchTab后tab不刷新
0

评论 (0)

打卡
取消