[vue] vue-router如何响应路由参数的变化?

haizhilin2013
2019-06-21 04:58:29 星期五
vue
                    
                        
vue-router如何响应路由参数的变化?
Comments per page
< Page 1 / 1 >
wenyejie 2019-06-21 10:07:59

watch

zhaoling906 2019-10-20 07:46:53

1.watch
2.在父组件的router-view上加个key

LQY-3777 2019-11-26 11:20:42
zlqGitHub 2019-12-22 02:04:08

问题:为什么要响应参数变化?

  • 切换路由,路由参数发生了变化,但是页面数据并未及时更新,需要强制刷新后才会变化。
  • 不同路由渲染相同的组件时(组件复用比销毁重新创建效率要高),在切换路由后,当前组件下的生命周期函数不会再被调用。

解决方案:

  1. 使用 watch 监听
watch: {
    $route(to, from){
        if(to != from) {
            console.log("监听到路由变化,做出相应的处理");
        }
    }
}
  1. 向 router-view 组件中添加 key
    <router-view :key="$route.fullPath"></router-view>

$route.fullPath 是完成后解析的URL,包含其查询参数信息和hash完整路径

WenJieLi1998 2020-04-19 02:56:04

1.watch
2.导航守卫

zhaoling906 2020-04-19 07:43:57
Comments per page
< Page 1 / 1 >

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1