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

发布时间:2025-07-27 06:43

微信小程序里的商品也能通过微信支付购买 #生活知识# #生活小知识# #电子支付#

最新推荐文章于 2025-06-07 11:11:15 发布

xgwshen 于 2017-09-07 09:51:04 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

昨天做了个功能要从首页跳到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 参数说明:

参数类型必填说明urlString是需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数successFunction否接口调用成功的回调函数failFunction否接口调用失败的回调函数completeFunction否接口调用结束的回调函数(调用成功、失败都会执行)

可以看到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,
        })
      }
    })
  },

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

网址:关于微信小程序wx.switchTab的问题 https://www.yuejiaxmz.com/news/view/1197718

相关内容

微信小程序navigator的open
基于微信小程序的时间管理小程序
个人微信小程序(生活服务)——整体设计
家居问答微信小程序,家居问答小程序介绍&二维码
基于微信小程序的智能社区服务小程序,附源码
基于微信小程序的社区互助养老系统(附开题报告)
小程序毕业设计基于微信小程序的健康生活助手小程序
【开题报告】基于微信小程序的高校学习助手系统
基于微信小程序的智能日程规划平台
【毕业设计】基于微信小程序的智慧社区服务系统 智慧社区微信小程序

随便看看