当前位置: 首页 > Web前端 > vue.js

解决 mpvue 经典 bug:同路由切换时,上次的数据会保留

时间:2023-03-31 18:05:21 vue.js

解决mpvue经典bug:在相同路由之间切换时,会保留最后的数据虽然听说框架已经停止维护,但为了快速上手,不管可能存在的bug多多,还是毅然使用了.果然出现了一个大bug:同一个路由切换时,最后的页面数据会保留Stack”即可解决:constdataStack=[];//构建页面栈exportdefault{data(){return{...};},onLoad(){dataStack.push({...this.$data});//备份数据//其他初始化...一定要先备份,再做其他初始化},onUnload(){Object.assign(this.$data,dataStack.pop());//恢复数据}}因为vue的mixin里面的代码是在页面之前执行的,所以上面的方法可以针对mixin进行优化。jsfileletmixin={data(){return{dataStack:[],//解决mpvue同组件数据不更新问题,构建栈};},onUnload(){Object.assign(this.$data,this.dataStack.pop());//恢复},onLoad(){this.dataStack.push({...JSON.parse(JSON.stringify(this.$data))});//backup},};exportdefaultmixin;bug已解决:fun完整代码见simon-cnode(mpvue重构cnode社区)作品和项目,欢迎star!