昨天做了個功能要從首頁跳到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 | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
首頁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,
})
}
})
},
上面的轉化就可以完成業務邏輯的需要了.