navigateTo跳转页面携带参数后,在新页面无法setData

navigateTo跳转页面携带参数后,在新页面无法setData
onLoad: function(options) {
    var that = this;
    console.log(options);
    that.data=JSON.parse(options.data);
    console.log("that",that.data);

},

无论是在方法里还是在onload里面都设置不了setData,
我的解答思路和尝试过的方法
我想要达到的结果
this.setData({
  data: JSON.parse(options.data)
})

Page({
  /**
   * 页面的初始数据
   */
  data: {
    obj: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      obj: JSON.parse(options.obj)
    })
  }
})

onLoad: function(options) {
var that = this;
console.log(options);
that.data=JSON.parse(options.data);
console.log("that",that.data);
that.setData({
data: JSON.parse(options.data)
})

}


onLoad: function (options) {
    this.setData({
      data: JSON.parse(options.data)
    })
  }

小程序用this.setData才可以更新值

不是vue,小程序 原生js复制必须 this,setData({
data:JSON.parse(options.data)
})

1.可能数据过多导致没办法传过来
2.通过路径传参 有可能转义了
3.小程序异步更新 this.setData
4.如果还是不行,那可以远程协助

this.setData({

})

1,存值参考这个
请参考这个地址: https://zhuanlan.zhihu.com/p/374150868?%ra=card


```c++

            // 跳转到预览界面,这里需要前端自己组装获取的数据
            goPreview(){

                let self = this;
                let point = self.queryParams.storeLatitude + ' ' + self.queryParams.storeLongitude; //纬经度
                if(self.address_point && self.address_point.length > 0){
                    point = self.address_point;
                }else {
          point = '';
        }

            /*    let time1 = self.getShiJianChuo(self.single);
                let time2 = self.getShiJianChuo(self.single2);*/
        let time1 = self.getShiJianChuo(self.singleTime);
        let time2 = self.getShiJianChuo(self.single2Time);
                let time3 = self.getShiJianChuo(self.single3);
                let time4 = self.getShiJianChuo(self.single4);

                let params = {
          is_draft: 0, //是否为草稿:1-是,0-否
          can_cancel: self.can_cancel, //是否可以取消报名:1-是,0-否
          activity_type: self.activity_type, //活动类型:1-线下,2-线上
          use_custom_apply_time: self.use_custom_apply_time ? 1 : 0, //是否使用自定义报名时间
                    thumb: self.imgUrl,
                    name: self.name,
                    classify_id: self.type ? self.type : self.classify_id,
                    start_time: time1, // 开始时间
                    end_time: time2, // 结束时间
                    address: self.queryParams.storeAddress || '',
                    address_point: point || '', //地址坐标
                    apply_type: self.current, // 报名类型:0-昵称,1-实名
                    apply_price: self.apply_price, // 人均费用
                    //apply_start_time: time3, //报名开始时间
                    //apply_end_time: time4, //报名结束时间
                    apply_min_number: 1, //最少报名人数
                    apply_max_number:  self.apply_max_number, //最多报名人数
                    //apply_limit: self.apply_limit || self.typeList[0], //其他限制
                    apply_limit: self.apply_limit, //其他限制
                    help_apply_number: 0, //代报名人数
                    customer_service_contact: self.customer_service_contact, //客服电话
                    detail: self.editorDetails || '', //活动详情 富文本
                }
                if(self.activity_id){ //表示当前是编辑操作
                    params['activity_id'] = self.activity_id;
                }

        //添加是否传自定义时间
        if(params.use_custom_apply_time){
          params.apply_start_time =  time3; //报名开始时间
          params.apply_end_time =  time4; //报名结束时间
        }

                //debugger
                console.log('预览界面的数据源', params)

                let tempData = JSON.stringify(params)


                uni.navigateTo({
                    url: '/pages/publish/preview?tempData=' + encodeURIComponent(tempData),
                })
            },


2.取值: 先看看值过来了没有,如果onload 不行,就放到onShow(){}这个生命周期里面


```javascript
onLoad: function (options) {
    this.setData({
      data: JSON.parse(options.data)
    })
  }