关于使用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());
进行重置,大大的减少了代码量。第一次写,写的有不对的地方,请多多指正。