vue-router同页面传参跳转不刷新,相同path不同query

vue项目在进行同页面路由跳转后,页面不刷新,或者只有部分刷新

解决办法

在 router-view 中加 :key="$route.fullPath"


<router-view :key="$route.fullPath"></router-view>

Vue 会复用相同组件, 即 /aaa/1 =>>> /aaa/2 或者 /bbb?id=1 =>>> /bbb?id=2 这类链接跳转时, 将不再执行created, mounted之类的钩子
设置 router-view 的 key 属性值为 $route.fullPath后,就会比较完整路径,path和参数都会进行比较,地址发生改变时(包括参数改变),就会重新渲染页面,组件被强制不复用, 相关钩子加载顺序为:
beforeRouteUpdate => created => mounted

posted @ 2022-07-17 01:47  Rins  阅读(1126)  评论(0编辑  收藏  举报