vue2.0頁面前進(jìn)刷新回退不刷新的實現(xiàn)方法
花了整整一周時間,嘗試過很多種方法,終于找到了最佳的解決方案(對我來說最佳),為了祭奠逝去的一周,也為了釋放激動的情緒,現(xiàn)在不得不寫篇博客了。
直接上重點:
第一步:
//在APP.vue里面寫上keepalive,可以實現(xiàn)緩存(keep-alive是什么?查看官方文檔)
第二步:
//在router的index.js里面給需要緩存的頁面加上meta參數(shù)
第三步:
//在APP.vue里面寫,當(dāng)頁面路由發(fā)生變化時,將相應(yīng)頁面的滾動位置記錄下來,在頁面updated時讀取并賦值
第四步:
//因為我的想法是從首頁(index.vue)進(jìn)入列表頁時刷新數(shù)據(jù),從列表頁點擊進(jìn)入詳情頁,再返回列表頁時不刷新,
所以從首頁進(jìn)入列表頁時,將列表頁的isBack設(shè)置為false,
然后在列表頁的activated生命周期鉤子中判斷isBack,為false則執(zhí)行加載函數(shù),為true則使用緩存。
//index.vue中:
//list.vue中
至此,終于完美實現(xiàn)了效果,其實還有可優(yōu)化的地方,加入需要keepalive的頁面很多的話,每一個頁面都寫相同的beforeRouteLeave和activated就沒有必要了,
但是具體怎么優(yōu)化,等需要用到了再說吧。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue translate peoject實現(xiàn)在線翻譯功能【新手必看】
這篇文章主要介紹了vue translate peoject實現(xiàn)在線翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06Vue2打包部署后可動態(tài)修改后端接口地址的解決方法
本篇文章將介紹使用Vue2開發(fā)前后端分離項目時,前端打包部署后可動態(tài)修改后端接口地址的解決方法,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2024-07-072分鐘實現(xiàn)一個Vue實時直播系統(tǒng)的示例代碼
這篇文章主要介紹了2分鐘實現(xiàn)一個Vue實時直播系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06vue3+elementui-plus實現(xiàn)一個接口上傳多個文件功能
這篇文章主要介紹了vue3+elementui-plus實現(xiàn)一個接口上傳多個文件,先使用element-plus寫好上傳組件,然后假設(shè)有個提交按鈕,點擊上傳文件請求接口,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07