说到缓存,要区分清楚组件缓存和路由缓存。
组件缓存是因为我们在切换页面时,组件会频繁的创建重新创建,这样太耗费计算机性能,且我们需要保留组件状态。所以会通过 vue 的内置组件 keep alive 。
1.路由缓存原理:由于路由的组件复用机制,当配置路由的路径path没有发生变化时,路由对应的组件会被直接复用,也就是生命周期钩子函数不再执行,请求也就不会再次发起
2.解决方案:
给 router-view
加上key 值为每次路由切换的完整路径
<router-view :key="$route.fullPath"></router-view>