vue keep-alive的使用

1 keep-alive 会接收参数include,内部是有各个组件name组成的数组
这个name 若是动态的,需要在router里和组件里一致,否则keep-alive将不生效

<!--全部缓存-->
<keep-alive>
     <router-view :key="key" />
</keep-alive>
<!--部分的按组件name缓存, cachedViews是类似['componentsName']的数组-->
<keep-alive :include="cachedViews">
     <router-view :key="key" />
</keep-alive>

2 cachedViews可以存于store中, 并在router的meta里面设置相关缓存信息,以及和组件相同的name信息

if (view.meta.noCache === false) {
   state.cachedViews.push(view.name);
}