vue中后退不刷新頁面(使用keepAlive方法)


問題:

具體場景是:列表頁分頁(當前選中第5頁),點擊跳轉詳情頁,返回列表頁時,分頁狀態仍然停留在第5頁。

解決辦法:

1.在app.vue中添加keepAlive

1 <keep-alive>
2     <router-view v-if="$route.meta.keepAlive" :key="$route.fullPath">
3         <!-- 這里是會被緩存的視圖組件 -->
4     </router-view>
5 </keep-alive>
6  
7 <router-view v-if="!$route.meta.keepAlive">
8     <!-- 這里是不被緩存的視圖組件 -->
9 </router-view>

2.在router/index.js中添加路由元信息keepAlive,設置需要緩存的頁面

3.在main.js添加beforeRouteEnter進行判斷

 1 router.beforeEach((to, from, next) => {
 2    //to(當前頁面) form(前一頁面)
 3    //判斷當前頁是不是目標頁,再判斷前一頁面是否要緩存
 4    if (to.name == 'interviewDetail' && from.name == 'interviewManagement') {
 5       from.meta.keepAlive = true;
 6    }else {
 7       from.meta.keepAlive = false;
 8    }
 9    next();
10 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM