昨天做了个功能要从首页跳到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 页面
接口调用结束的回调函数(调用成功、失败都会执行)可以看到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,
-
})
-
}
-
})
-
},
上面的转化就可以完成业务逻辑的需要了.
|