知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
解決 mpvue 經(jīng)典 bug:同路由切換時,上次的數(shù)據(jù)會保留
發(fā)表時間:2021-1-11
發(fā)布人:葵宇科技
瀏覽次數(shù):86
由于一直在用vue技術棧,因此初次開發(fā)小程序嘗試使用【mpvue】。盡管聽聞框架已停止維護,為了上手迅速,不顧可能存在的眾多bug,毅然用起來。
果不其然,一個大bug出現(xiàn)了: 同一路由切換時,上一次的頁面數(shù)據(jù)會保留
項目實戰(zhàn)bug: mpvue重構cnode社區(qū)
github用戶已在mpvue的issues給出相關原因:
參考眾多答案后,用“建頁面棧”的辦法得以解決:
const dataStack = []; // 建一個頁面棧
export default {
data () {
return {...};
},
onLoad () {
dataStack.push({ ...this.$data }); // 備份數(shù)據(jù)
// 其他初始化....一定要先備份,再做其他初始化
},
onUnload () {
Object.assign(this.$data, dataStack.pop()); // 恢復數(shù)據(jù)
}
}
由于 vue 的 mixin 中的代碼先于頁面執(zhí)行,因此上述方法可優(yōu)化到 mixin.js 文件中
let mixin = {
data() {
return {
dataStack: [], // 解決mpvue相同組件數(shù)據(jù)不更新問題,建立棧堆
};
},
onUnload() {
Object.assign(this.$data, this.dataStack.pop()); // 恢復
},
onLoad() {
this.dataStack.push({ ...JSON.parse(JSON.stringify(this.$data)) }); // 備份
},
};
export default mixin;
bug得以解決:
相關案例查看更多
相關閱讀
- 網(wǎng)站上首頁
- 貴州小程序開發(fā)
- 北京小程序開發(fā)
- 汽車報廢拆解管理系統(tǒng)
- 小程序模板開發(fā)公司
- 云南網(wǎng)站建設快速優(yōu)化
- 昆明網(wǎng)站建設公司
- 報廢車管理系統(tǒng)
- 企業(yè)網(wǎng)站
- 云南網(wǎng)站建設方案 doc
- 前端
- 軟件開發(fā)
- 退款
- 昆明做網(wǎng)站
- 百度排名
- 昆明小程序開發(fā)聯(lián)系方式
- 昆明軟件定制公司
- 云南網(wǎng)站建設公司哪家好
- 云南省住房建設廳網(wǎng)站
- 網(wǎng)站開發(fā)哪家好
- 安家微信小程序
- 汽車回收系統(tǒng)
- 云南軟件定制
- 昆明小程序定制開發(fā)
- 高端網(wǎng)站建設公司
- 云南做軟件
- 汽車報廢回收
- 網(wǎng)站排名
- 昆明小程序公司
- 云南花農(nóng)小程序