微信小程序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 | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
首页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,
})
}
})
},
上面的转化就可以完成业务逻辑的需要了.