vue 元件快取 router-view 詳解
阿新 • • 發佈:2020-10-14
記錄一下:
我們在特定的情況下強制重新整理某些元件
-
利用include、exclude屬性
<keep-alive include="bookLists,bookLists"> <router-view></router-view> </keep-alive> <keep-alive exclude="indexLists"> <router-view></router-view> </keep-alive>
include屬性表示只有name屬性為bookLists,bookLists的元件會被快取,(注意是元件的名字,不是路由的名字)其它元件不會被快取exclude屬性表示除了name屬性為indexLists的元件不會被快取,其它元件都會被快取
-
利用meta屬性
export default[ { path:'/', name:'home', components:Home, meta:{ keepAlive:true //需要被快取的元件 }, { path:'/book', name:'book', components:Book, meta:{ keepAlive:false //不需要被快取的元件 } ]
<keep-alive> <router-view v-if="this.$route.meat.keepAlive"></router-view> <!--這裡是會被快取的元件--> </keep-alive> <keep-alive v-if="!this.$router.meta.keepAlive"></keep-alive> <!--這裡是不會被快取的元件-->
-
官方提出的解決方案響應路由引數的變化
-
利用berforeRouteEnter實現前進重新整理,後退快取資料
-
利用第三方外掛實現前進重新整理,後退不快取