Vue 實現組件信息的緩存
當我們在開發vue的項目過程中,避免不了在路由切換到其他的component再返回后該組件數據會重新加載,處理這種情況我們就需要用到keep-alive來緩存vue的組件信息,使其不再重新加載。
一、在app.vue里
<keep-alive> <router-view></router-view></keep-alive>
但是這種情況會對所有的組件進行緩存,不能達到單個組件緩存的效果。
那么我們給部分組件加上,實現方法如下:
在app.vue
<!--這里是需要keepalive的--><keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view><keep-alive><!-- 這里不會被keepAlive --><router-view v-if="!$route.meta.keepAlive"></router-view>
二、 在路由的index.js頁面里
{ path: '', name: '', component: '', meta: {keepAlive: true} // 這個是需要keepalive的},{ path: '', name: '', component: , meta: {keepAlive: false} // 這是不會被keepalive的}這就實現了部分組件的緩存功能
如果緩存的組件想要清空數據或者執行初始化方法,在加載組件的時候調用activated鉤子函數,如下:
activated: function () { this.data = ‘'}以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答