系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 網絡編程 > JavaScript > 詳細頁面

vue路由緩存的幾種實現方式小結

時間:2020-02-02來源:系統城作者:電腦系統城

本文實例講述了vue路由緩存的幾種實現方式。分享給大家供大家參考,具體如下:

在我們的日常開發中,有時候會遇到頁面的緩存,特別是電商的項目,在商品列表的一些狀態都是要緩存下來的。

下面就簡單介紹幾種 vue 路由緩存的幾種方式。

1、全部緩存


 
  1. <keep-alive>
  2. <router-view></router-view>
  3. </keep-alive>
  4.  

直接用 keep-alive 標簽包裹 router-view 標簽就能緩存全部的頁面了

2、緩存單個指定路由


 
  1. <keep-alive include="該路由的name名稱">
  2. <router-view></router-view>
  3. </keep-alive>
  4.  

同樣直接用 keep-alive 標簽包裹 router-view 標簽,然后使用 include 指定需要緩存的頁面的 name 名稱

可以使用 v-bind 綁定一個 name 數組,也可用 ',' 隔開,也可使用正則表達式,多個的情況建議使用第三種

注意:是緩存頁面的 name 名稱,而不是緩存頁面路由的 name 名稱

3、緩存多個指定路由


 
  1. <keep-alive>
  2. <router-view v-if="$route.meta.keepAlive"></router-view>
  3. </keep-alive>
  4. <router-view v-if="!$route.meta.keepAlive"></router-view>
  5.  

使用兩個 router-view 標簽分別作為緩存和不緩存的路由出口,在路由配置的時候,只需要給要緩存的頁面加上 meta 屬性,然后添加 keepAlive 屬性設置為 true 即可。例如:


 
  1. {
  2. path:'/test',
  3. name:'Test',
  4. component: Test,
  5. meta: {keepAlive: true} //true緩存 false不緩存
  6. }
  7.  

四、activated和deactivated

activated,deactivated 這兩個生命周期函數一定是要在使用了 keep-alive 組件后才會有的,否則則不存在。

當引入 keep-alive 的時候,頁面第一次進入

鉤子的觸發順序 created-> mounted -> activated,退出時觸發deactivated。

當再次進入(前進或者后退)時,只觸發 activated

注意:keep-alive里面緊跟包裹 router-view 組件,而不能出現其他標簽,不然會導致無法緩存頁面。

如果需要在路由不變的情況下,無白屏刷新頁面,請參照前文:vue.js路由不變,無白屏刷新頁面

希望本文所述對大家vue.js程序設計有所幫助。

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放