微信小程序跳转 TAB 页:wx.switchTab: url 不支持 queryString

更新日期: 2018-08-23 阅读次数: 22584 分类: 微信小程序

使用 navigator 标签跳转 TAB 页面

<navigator url="/pages/site_list/site_list?community_id={{ item.id }}" open-type="switchTab">

报了一个错误:

wx.switchTab: url 不支持 queryString

两种解决方案

  • queryString 存 storage
  • queryString 存全局变量

我觉得存全局变量更合适一点,因为这个值没有数据落地的必要性

源页面修改为

<view bindtap="go_to_site_list" data-cid="{{ item.id }}">

go_to_site_list(event) {
    app.globalData.community_id_for_switch_tab = event.currentTarget.dataset.cid;
    wx.switchTab({
      url: `/pages/site_list/site_list`,
    })
  }

目标 TAB 页

onShow: function () {
    var community_id = app.globalData.community_id_for_switch_tab;
    console.log(community_id);
    // TODO: DO SOMETHING
    if (community_id) {
      // 处理完成后,清空缓存值
      app.globalData.community_id_for_switch_tab = null;
    }

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式

谈笑风生

e燃物

请教一个问题,就是微信小程序,支付回调,如果用户不点击返回,不点击完成,是否可以获取支付结果?发现,支付完成后,没点击完成,突然弹出摇一摇红包,之后摇走了,这样貌似就没有接收到支付结果

大象

只要后台服务器收到微信的支付回调,就是支付成功了,不需要用户再点击完成