解決vue-router 切換tab標簽關閉時緩存問題
在router入口頁面加上 keepAlive: true // 需要被緩存 false則不需要
{
path: 'fundProListG',
component: resolve => require(['@/pages/product/fundPros/fundTab/fundTab.vue'], resolve),
title: '基金首頁',
redirect: 'fundProListG/fundProListG',
meta: {
keepAlive: false // 不需要被緩存
},
children: [{
path: 'fundProListG',
component: resolve => require(['@/pages/product/fundPros/fundProListG.vue'], resolve),
meta: {
keepAlive: true // 需要被緩存
}
},{
path: 'fungAdm',
component: resolve => require(['@/pages/product/fundPros/fungAdm.vue'], resolve),
meta: {
keepAlive: true // 需要被緩存
}
}]
},
App.vue (你在哪寫的那個<router-view ></router-view>標簽就在哪改動)
<keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view>
當點關閉標簽的時候如果不想當前頁面緩存 加上

接著遇到了第一次緩存第二次改為false后打開不緩存了 在關閉標簽頁面 加上這個

補充知識:解決通過vue-router打開tab頁,下次進入還是上次history緩存的界面狀態(tài)的問題
一、問題描述:
1. 跳轉(zhuǎn)模式:界面A-->界面B(界面A中通過 this.$router.push({name:'組件B名稱', params: {參數(shù)}}) 通過打開新tab頁的方式打開界面B。)
2.關閉界面B,回到界面A
3.再次從A到B時,打開的界面B仍然是上次的狀態(tài),哪怕傳遞的參數(shù)不一樣。
另:router聲明如下
{
path: 'demo/pageB',
name: 'pageB',
component: _import('demo/pageB'),
meta: {
requiresAuth: true,
keepAlive: false, // 不需要被緩存
title: '界面B'
}
}
二、原因: 詳見vue-router官網(wǎng)

三、解決方式:在界面B離開時,銷毀組件。代碼如下:
// 導航離開該組件的對應路由時調(diào)用[可以訪問組件實例 `this`]
beforeRouteLeave (to, from, next) {
// 銷毀組件,避免通過vue-router再次進入時,仍是上次的history緩存的狀態(tài)
this.$destroy(true)
next()
}
更多beforeRouteLeave 詳見官網(wǎng)
四、其它解決方式(未成功):
vue-router官網(wǎng)提供了 router.replace(location, onComplete?, onAbort?) 的方式,使得不向 history中新增記錄,但是我未嘗試成功,具體原因暫不知。
官網(wǎng)描述:

我的寫法:
this.$router.replace({name:'組件B名稱', params: {參數(shù)}}, () => { this.warning('test!') }, () => { this.warning('test!') })
以上這篇解決vue-router 切換tab標簽關閉時緩存問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue讀取本地靜態(tài)文件json的2種方法以及優(yōu)缺點
這篇文章主要介紹了Vue讀取本地靜態(tài)文件json的2種方法以及優(yōu)缺點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue系列之Element?UI表單自定義校驗規(guī)則
表單校驗是注冊環(huán)節(jié)中必不可少的操作,表單校驗可以提醒用戶填寫數(shù)據(jù)規(guī)則以確保用戶提交數(shù)據(jù)的效性,也可以防止用戶因誤操作而占用服務器資源,這篇文章主要給大家介紹了關于Vue系列之Element?UI表單自定義校驗規(guī)則的相關資料,需要的朋友可以參考下2022-09-09
Vue.js中的全局錯誤處理函數(shù)errorHandler用法
這篇文章主要介紹了Vue.js中的全局錯誤處理函數(shù)errorHandler用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式
這篇文章主要介紹了vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

