微信小程序之跳转wx.switchTab

0.579字数 272阅读 9145

个人总结一下switchTab的使用注意事项
1. 切换到首页tabbar对应的文件,必须使用

wx.switchTab({
    url:'pages/home/index/index'
})

而使用wx.navigateTo是不会跳转到tabbar对应的相关页面的,所以这里写法是错误的

wx.navigateTo({
    url:'pages/home/index/index'
})

2.关于使用switchTab跳转页面 ,页面数据不更新的解决方案

let url = "xx/xx/xx";
wx.switchTab({
      url :  url,
      success(res){
            let page = getCurrentPages().pop();
            if(page == undefined || page == null){
                  return
            }
            page.onLoad();
      }
})

3.而针对switchTab不能带参数的解决方案就更容易解决了--------定义app全局变量
首先在小程序项目文件里找到app.js,在APP({})内注册全局变量

globalData: {
       idClassify: null,
},

在需要携带参数的页面.js文件引入app,比如pages/index/index.js

var app = getApp();

在具体方法里使用的时候,进行跳转页面时定义要跳转到的页面的全局变量的当前值

 app.globalData.idClassify = 3;

然后再需要接受参数的页面的.js文件引入app

var app = getApp();(这一点与上面携带参数来的页面使用一样)

接着在需要接受参数的页面的.js文件的onLoad方法中获取参数

 if(app.globalData.idClassify && app.globalData.idClassify != ""){
        this.setData({
                "page.classify_id":app.globalData.idClassify
        })
 } 
if(options.idClassify && options.idClassify != ""){
       this.setData({
                "page.classify_id":options.idClassify
       })
 }

好啦,暂时总结到这里哦,大家有什么好的总结的都可以添加进来!

推荐阅读更多精彩内容