关于微信小程序wx.switchTab的问题 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

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

发表时间:2021-3-31

发布人:葵宇科技

浏览次数:55

昨天做了个功能要从首页跳到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. },

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

相关案例查看更多