1.在跳转时加入判断
goToUser(id) {
if(this.$route.path !== '/user/'+id) {
this.$router.push({ name: 'User', params: { id: id } });
}
},
这个方法的原本作用是跳转到User页面,并附带路由参数
加入判断后,防止自跳转
2.使用watch监控
watch: {
'$route.params.id'(newValue, oldValue) {
// 这里 newValue 是新的路由参数值,oldValue 是旧的路由参数值(Vue Router 3.x)
// Vue Router 4.x 则直接获得 newValue
// 在这里调用你想要在子页面切换时触发的方法
if(newValue !== oldValue) {
const userId = this.$route.params.id;
}
}
},