功能需求:
- 大家都知道keep-alive组件的作用,在实际开发过程中,经常会遇到对部分组件进行缓存,常用操作方法见另一篇博客
对指定组件进行keep-alive缓存 - 然而,组件切换时还存在另一种需求:A>B不缓存,C>B缓存;也就是组件B是需要动态改变是否进行缓存的。
作为一个懒癌 + 菜鸡,我只想使用最简单易懂的方式实现(以下为关键代码)
-
App.vue文件 (监听缓存数组的变化)
<keep-alive :include="cached"> <router-view /> </keep-alive>
export default { data() { return { cached: this.$store.state.catchArr }; }, watch: { $route: { //监听路由变化 handler: function(to, from) { this.cached = this.$store.state.catchArr; } } }