用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

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

Rolan 2018-1-11 00:38

昨天做了个功能要从首页跳到tabBar页,并且要带上参数.首先我是这样做的:在index.js中:toCategory:function(event){ var cate_id = event.currentTarget.dataset.cate_id; wx.switchTab({ url: '../category/category ...

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

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

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: xgwshen 来自: csdn

极乐科技招聘高级前端工程师