微信小程序wx.switchTab


【轉】關於微信小程序wx.switchTab的問題

昨天做了個功能要從首頁跳到tabBar頁,並且要帶上參數.首先我是這樣做的:

在index.js中:

toCategory:function(event){
    var cate_id = event.currentTarget.dataset.cate_id;
    wx.switchTab({
      url: '../category/category?cate_id='+cate_id,
    });
  },

按照上面寫的在category.js里得不到數據;

onLoad:function(options){

console.log(options);

}

然后查看了下官方文檔.

 

wx.switchTab(OBJECT)

 

跳轉到 tabBar 頁面,並關閉其他所有非 tabBar 頁面

OBJECT 參數說明:

參數 類型 必填 說明
url String 需要跳轉的 tabBar 頁面的路徑(需在 app.json 的 tabBar 字段定義的頁面),路徑后不能帶參數
success Function 接口調用成功的回調函數
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)
可以看到url路徑后不能帶參數.這下就尷尬了.因為我必須要帶一個參數過去才能滿足業務的需求;走了一個捷徑.思路:跳轉的時候在全局變量里設置一個變量cate_id,調到category.js中后.調取全局變量里的cate_id,用完后,再把扎個變量清除掉.具體實施如下:

首頁index.js中:

toCategory:function(event){
    var cate_id = event.currentTarget.dataset.cate_id;
    app.globalData.cate_id=cate_id;//設置全局變量(app已經定義 var app=getApp())
    wx.switchTab({
      url: '../category/category'
    });
  },

分類頁category.js中:

onLoad:function(options){
    var that = this
    var cate_id=app.globalData.cate_id
    wx.request({
      url: app.globalData.httpsurl +'public/index.php?s=product/index',
      data:{
        cate_id:cate_id,
      },
      success:function(res){
        //清除全局變量cate_id
        app.globalData.cate_id=""
        that.setData({
          alldata:res.data,
        })
      }
    })
  },

上面的轉化就可以完成業務邏輯的需要了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM