解决uni.switchTab中url 不支持 queryString

1,086 阅读1分钟

整体思路:将需要传的参数放到全局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 = ''
      },
    省略.....
    })