1. 程式人生 > 實用技巧 >vue 元件快取 router-view 詳解

vue 元件快取 router-view 詳解

記錄一下:

我們在特定的情況下強制重新整理某些元件

  1. 利用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的元件不會被快取,其它元件都會被快取

  2. 利用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>
    <!--這裡是不會被快取的元件-->
    
  3. 官方提出的解決方案響應路由引數的變化

  4. 利用berforeRouteEnter實現前進重新整理,後退快取資料

  5. 利用第三方外掛實現前進重新整理,後退不快取

參考:https://www.cnblogs.com/Mr-Rshare/p/10729497.html