vue同路由携带不同参数跳转无法刷新的解决方案
vue同路由携带不同参数跳转无法刷新
当跳转同一路由,携带不同参数时,组件会被复用,生命周期之前创建了一次,不会再次重新创建,因此页面不会刷新。
可以考虑一下几种解决方法
方法一
使用watch监听路由参数的变化,并在参数变化时手动执行相应的逻辑来实现刷新页面的效果。
watch: {
$route(to, from) {
// 在这里根据参数的变化执行刷新页面的逻辑
}
}
方法二
使用key属性给组件添加唯一标识,当路由参数发生变化时,通过修改key的值来重新渲染组件,从而达到刷新页面的效果。
<router-view :key="$route.fullPath"></router-view>
方法三
当一个组件复用时,传递的参数发生变化就会触发这个钩子函数,在路由配置中使用beforeRouteUpdate守卫,该守卫会在当前路由更新时被调用,可以在守卫中执行刷新页面的逻辑
beforeRouteUpdate(to, from, next) {
// 在这里执行刷新页面的逻辑
next();
}
方法四
可以考虑使用vuex来管理路由参数,在每次路由跳转时将参数存储到vuex中,在需要刷新页面时,通过修改参数的值来触发刷新。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vuex 在Vue 组件中获得Vuex 状态state的方法
今天小编就为大家分享一篇Vuex 在Vue 组件中获得Vuex 状态state的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08
Vue3表单组件el-form校验规则rules属性示例详解
在el-form中正确使用rules校验是非常重要的,rules使用不当容易出现规则不生效、规则一直被触发等各种现象,这篇文章主要给大家介绍了关于Vue3表单组件el-form校验规则rules属性的相关资料,需要的朋友可以参考下2024-08-08
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
这篇文章主要介绍了SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题,需要的朋友可以参考下2018-01-01


最新评论