解决:wx.switchTab: url 不支持 queryString

作者: wechat 发布时间: 2019-11-13 浏览: 5459 次 编辑

解决:wx.switchTab: url 不支持 queryString

整体思路:将需要传的参数放到全局js中。

1.定义全局参数:app.js中:

  globalData: {
    isSaveRecord: 0,   //我自己的默认值
    search: '',   //我自己的默认值
  },

2.第一个页面中路径包含参数,但这里的url 不支持 queryString,所以将参数放到全局js中:

    
    var app = getApp()
 
    Page({    
        // 真实路径:url: '../../second/index/second?        
        //            isSaveRecord='+isSaveRecord+'&search='+search
        // 给全局参数赋值
        app.globalData.isSaveRecord = 1
        app.globalData.search = value    
        wx.switchTab({
          url: '../../second/index/second'
        }) 

3.在下一个页面获取参数:

var app = getApp()
 
Page({
 
onShow: function(e) {
    var that = this
    //  获取全局参数,在上一个页面赋值的
    var isSaveRecord = app.globalData.isSaveRecord;
    var search = app.globalData.search;
    //判断是否带参数,带的话执行里边逻辑
    if (search != null || search != '' || search != undefined) {
      //设置到页面data中,其他地方就可以使用了
      that.setData({
        searchContent: search,
        isSaveRecord :isSaveRecord 
      });
    }
    //  记得,一定要还原全局数据
    app.globalData.isSaveRecord = 0
    app.globalData.search = ''
  },
省略.....
})