實現vue 的keep-alive緩存功能

當咱們在開發vue的項目過程當中,避免不了在路由切換到其餘的component再返回後該組件數據會從新加載,處理這種狀況咱們就須要用到keep-alive來緩存vue的組件信息,使其再也不從新加載。css

1、在app.vue裏html

<keep-alive>
  <router-view></router-view>
</keep-alive>
複製代碼

可是這種狀況會對全部的組件進行緩存,不能達到單個組件緩存的效果。 那麼咱們給部分組件加上,實現方法以下: 在app.vuevue

<!--這裏是須要keepalive的-->
<keep-alive>
  <router-view v-if="$route.meta.keepAlive"></router-view>
<keep-alive> 
<!-- 這裏不會被keepAlive --> 
<router-view v-if="!$route.meta.keepAlive"></router-view>
複製代碼

2、 在路由的index.js頁面裏node

{
  path: '',
  name: '',
  component: '',
  meta: {keepAlive: true}   // 這個是須要keepalive的
},//歡迎加入全棧開發交流圈一塊兒學習交流:864305860
{//幫助突破技術瓶頸,提高思惟能力
  path: '',
  name: '',
  component: ,
  meta: {keepAlive: false}  // 這是不會被keepalive的
}
複製代碼

這就實現了部分組件的緩存功能 若是緩存的組件想要清空數據或者執行初始化方法,在加載組件的時候調用activated鉤子函數,以下:webpack

activated: function () {
  this.data = ‘' } 複製代碼

結語web

感謝您的觀看,若有不足之處,歡迎批評指正。面試

本次給你們推薦一個免費的學習羣,裏面歸納移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。 對web開發技術感興趣的同窗,歡迎加入Q羣:864305860,無論你是小白仍是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時天天更新視頻資料。 最後,祝你們早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峯。緩存

相關文章
相關標籤/搜索