路由缓存问题的解决办法
1,什么是路由缓存问题:
当路由参数发生变化时,为了性能优化而重用组件实例,生命周期钩子失效,参数变化就没有监听,点击切换后内容未发生变化
2,解决办法:
(1)在routerView里面使用key
(2)使用路由导航守卫:比如使用beforeRouterUpdate钩子函数,执行过程,当用户点击切换时,更新url,捕获路由更新,手动刷新数据
注记:关于什么是路由导航守卫:
在路由跳转前或者跳转后插入一些钩子函数,可以在里面使用一些逻辑代码她的用途有下面这些:
1,全局处理:跳转前加载进度条,加载后直接跳转到页面顶部
2,数据预加载:在进入新页面前,提前获取新页面需要用到的数据
3,页面拦截:当用户要离开一个未保存的表单页面时,弹出确认框
举一个使用场景:一个分类导航菜单栏,如果对于每个菜单我们设定一个id用来区分,那么我们在切换时就会遇到路由缓存问题
