小程序开发 踩坑 之wx.switchTab 跳转tab后页面不刷新

在做小程序开发时 ,登录成功后需要刷新根据登录成功返回的userid 去加载数据 render在index页面list里,但是小程序为了体验都是异步加载。

app.js 后第一个加载的就是index 页面。所以会导致index页面数据不能刷新问题。

我此处的方法是 登录成功后跳转tab 的list页面,即刷新一次 index重新加载获取数据。

但是小程序 跳转tab后不刷新。网上查询 如果tab之前已经打开, 再跳转到tab页是不走任何生命周期的。据说这是一个bug ,以后会解决。 目前的解决思路就是只能获取当前打开的所有页,再找到最后的那个页面即时当前显示的页面,跳转成功的那个页面。再调用onShow方法强制刷新!都是各位大神提供的为我们排忧解难,感谢!!

   wx.switchTab({
                            url: '../index/index',
                            success: function (res) {
                              var page = getCurrentPages().pop();
                              if (page == undefined || page == null) return;
                              page.onShow();
                              
                              console.log('跳转到index页面成功')// success
                            },
                            fail: function (res) {
                              console.log('跳转到index页面失败')  // fail
                            },
                            complete: function (res) {
                              console.log('跳转到index页面完成') // complete
                            }
                          })

 另外还有个坑就是,页面跳转不能是 tabbar导航栏list里定义的path,否则 

wx.navigateTo会无法跳转

转载于:https://www.cnblogs.com/OneDirection/articles/8331548.html

你可能感兴趣的:(小程序开发 踩坑 之wx.switchTab 跳转tab后页面不刷新)