switchTab

作者: leeolady | 来源:发表于2018-11-30 15:00 被阅读1次

    个人总结一下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
           })
     }
    

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

    相关文章

      网友评论

        本文标题:switchTab

        本文链接:https://www.haomeiwen.com/subject/jlrhcqtx.html