关于使用mpvue进行小程序开发时遇到的data中的数据不重置问题

在使用mpvue开发小程序时,做到了商品评价这一块,遇到了一个问题,就是每次评价完某一商品,再去评价另一商品时,商品评价页面的数据不重置,查阅了很多资料,最后通过在onLoad里面通过

Object.assign(this.$data, this.$options.data());   手动重置了数据,也可以在onShow中重置数据,但是页面加载时,onLoad里面的方法是最先调用的,并且需要在onLoad里面获取页面的传参,如果你的与后端进行数据交互的方法是放在onShow中的,并且还需要前一个页面的传参,那么,在onShow手动重置数据时,会把你获取的传参也重置掉,
 onLoad(option) {
    Object.assign(this.$data, this.$options.data());
    this.primaryColor = wx.getStorageSync("mainColor");
    this.GetUserEvaluateDetailsDTO.orderItemKeyId = option.orderItemKeyId;
    this.GetEvaluateStateDTO.orderItemKeyId = option.orderItemKeyId;
    if (wx.getStorageSync('token')) {
      this.userAuth = true;
    } else {
      this.userAuth = false;
    }
    // this.evaluteObj.evaluateResultDTO = {};
    // this.evaluteObj.appendEvuluateResultDTO = {};
    // this.isActive = false;
    // this.commentList = [];
    // this.replyList = [];
    wx.showLoading({
      title: '加载中',
    })
    // this.commentState = 'initial';
    // this.page = 1;
    this.reqGetDetails();
    this.reqGetGoods();
  }

注释掉的是我需要重置的数据,页面加载是,数据没有自动重置,我就可以在onload里通过

Object.assign(this.$data, this.$options.data()); 

进行重置,大大的减少了代码量。第一次写,写的有不对的地方,请多多指正。

posted on 2019-08-18 17:42  曼殊·沙华  阅读(1571)  评论(1编辑  收藏  举报