deepkolos.github.io/vc-keep-ali…
git
還有功能性路由的支持
github
watch$route/activated都是不會重建建立組件, 可是能夠響應路由更新, 去從新調用api拉取新數據, 可是想要頁面過渡動畫就實現不了了api
網上也有簡單的配置key爲$route.path/fullPath, 可是有缺點:緩存
0. 若是僅僅是命中路由的子路由部分變化了, 父路由關聯的組件也是會被從新建立, 好比: /page/tab-0 -> /page/tab-1 時, 位於/home的組件也會被從新渲染一次動畫
1. 路由一旦緩存了就只能max來觸發清除緩存, 想實現返回銷燬的話, 只能經過route hook裏面 去判斷前進返回, 而後再手動調用instance.$destory(), 可是問題是keepAlive組件的緩存依然沒有銷燬的標記, 這樣的就會致使第一次返回是銷燬了, 可是當再次前進到另外一個頁面的時候, 再返回則會命中的緩存是舊的緩存, 然而該緩存已經destoryed, 後面仍是會從新建立一次 url
好比: / -> /page-1/0 -> / -> /page-1/0 -> /page-1/1 -> /page-1/0(從新建立了)spa
因此vc-keep-alive是針對以上問題解決方案的配置打包, 不過如今尚未對addRoutes的支持, 晚點補上router