昨天做了個功能要從首頁跳到tabBar頁,并且要帶上參數(shù).首先我是這樣做的:
在index.js中:
-
toCategory:function(event){
-
var cate_id = event.currentTarget.dataset.cate_id;
-
wx.switchTab({
-
url: '../category/category?cate_id='+cate_id,
-
});
-
},
按照上面寫的在category.js里得不到數(shù)據(jù);
-
onLoad:function(options){
-
console.log(options);
-
}
然后查看了下官方文檔. wx.switchTab(OBJECT) 跳轉(zhuǎn)到 tabBar 頁面,并關閉其他所有非 tabBar 頁面
接口調(diào)用結束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)可以看到url路徑后不能帶參數(shù).這下就尷尬了.因為我必須要帶一個參數(shù)過去才能滿足業(yè)務的需求;走了一個捷徑.思路:跳轉(zhuǎn)的時候在全局變量里設置一個變量cate_id,調(diào)到category.js中后.調(diào)取全局變量里的cate_id,用完后,再把扎個變量清除掉.具體實施如下: 首頁index.js中:
-
toCategory:function(event){
-
var cate_id = event.currentTarget.dataset.cate_id;
-
app.globalData.cate_id=cate_id;//設置全局變量(app已經(jīng)定義 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,
-
})
-
}
-
})
-
},
上面的轉(zhuǎn)化就可以完成業(yè)務邏輯的需要了.
|