微信小程序wx.switchTab

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

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

在index.js中:json

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);app

}函數

而後查看了下官方文檔.this

 

wx.switchTab(OBJECT)

 

跳轉到 tabBar 頁面,並關閉其餘全部非 tabBar 頁面url

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,
        })
      }
    })
  },

上面的轉化就能夠完成業務邏輯的須要了.

相關文章
相關標籤/搜索