- 需求=>从列表页进入详情页不需要缓存,详情页可以跳到其他页,从其他页面返回到详情页需要缓存详情页数据
- 方案一:beforeRouteLeave判断当进入的页不是列表页,缓存当前页(from.meta.keepAlive = true)发现虽然组件缓存但是返回到详情页还是会调接口再次 》》》》失败
- 解决方案: 缓存的页面 created 会执行只有一次,activated每次都会执行 , created 里面做 第一次 isFirstEnter = true(由于页面被缓存,所以一直生效),之后再activated 里面做判断 只有 “不是返回回来的” 和 “第一次进来的” 就刷新数据, 并且要在下面 都设为false, 以免缓存各标识不对,在进入 “列表页” 时,通过router钩子函数 beforeRouteEnter做判断,详情页过来的设 isBack 为true,即不刷新页面 》》》》成功 出自:vue keep-alive 缓存问题最终解决方案
![8232b68bba8212c0d69a462046fba004.png](https://i-blog.csdnimg.cn/blog_migrate/d03b459afb83dcef52f004af996f7b78.jpeg)