vue 的keep-alive

Vue 實現組件信息的緩存

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

1、在app.vue裏緩存

<keep-alive>
    <router-view></router-view>
</keep-alive>

可是這種狀況會對全部的組件進行緩存,不能達到單個組件緩存的效果。app

那麼咱們給部分組件加上,實現方法以下:函數

在app.vuethis

<!--這裏是須要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頁面裏code

{
    path: '',
    name: '',
    component: '',
    meta: {keepAlive: true}     // 這個是須要keepalive的
},
{
    path: '',
    name: '',
    component: ,
    meta: {keepAlive: false}   // 這是不會被keepalive的
}

這就實現了部分組件的緩存功能component

若是緩存的組件想要清空數據或者執行初始化方法,在加載組件的時候調用activated鉤子函數,以下:router

activated: function () {
   this.data = ‘’
}
相關文章
相關標籤/搜索