小程序模板网

关于微信小程序wx.switchTab的问题

昨天做了个功能要从首页跳到tabBar页,并且要带上参数.首先我是这样做的: 
在index.js中:

 

				
  1. toCategory:function(event){
  2. var cate_id = event.currentTarget.dataset.cate_id;
  3. wx.switchTab({
  4. url: '../category/category?cate_id='+cate_id,
  5. });
  6. },

按照上面写的在category.js里得不到数据;

 

				
  1. onLoad:function(options){
  2. console.log(options);
  3. }

然后查看了下官方文档.  wx.switchTab(OBJECT)  跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

接口调用结束的回调函数(调用成功、失败都会执行)可以看到url路径后不能带参数.这下就尴尬了.因为我必须要带一个参数过去才能满足业务的需求;走了一个捷径.思路:跳转的时候在全局变量里设置一个变量cate_id,调到category.js中后.调取全局变量里的cate_id,用完后,再把扎个变量清除掉.具体实施如下:  首页index.js中:

 

				
  1. toCategory:function(event){
  2. var cate_id = event.currentTarget.dataset.cate_id;
  3. app.globalData.cate_id=cate_id;//设置全局变量(app已经定义 var app=getApp())
  4. wx.switchTab({
  5. url: '../category/category'
  6. });
  7. },

分类页category.js中:

 

				
  1. onLoad:function(options){
  2. var that = this
  3. var cate_id=app.globalData.cate_id
  4. wx.request({
  5. url: app.globalData.httpsurl +'public/index.php?s=product/index',
  6. data:{
  7. cate_id:cate_id,
  8. },
  9. success:function(res){
  10. //清除全局变量cate_id
  11. app.globalData.cate_id=""
  12. that.setData({
  13. alldata:res.data,
  14. })
  15. }
  16. })
  17. },

上面的转化就可以完成业务逻辑的需要了.



易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/24208.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询