激活路由后,Vue-Router 将无法工作
Vue-Router won't work when a route is activated
考虑以下路线:
/form/1
/form/2
/form/3
当地址是 /
并且我点击 /form/1
VueRouter 将我的组件加载到 router-view
中但是当我在 /form/1
中点击 /form/2
没有任何反应!
您需要观察 $route
中的参数变化并执行正确的操作(例如,进行 ajax 调用以检索给定 ID 的信息),因此:
watch: {
'$route' (to, from) {
// React to route change
}
}
您也可以使用 beforeRouteUpdate
守卫(参见:https://router.vuejs.org/en/essentials/dynamic-matching.html)
你也可以给router-view
添加一个独特的key
属性,这样vue就可以强制替换组件而不是重复使用它
<router-view :key="$route.path"></router-view>
考虑以下路线:
/form/1
/form/2
/form/3
当地址是 /
并且我点击 /form/1
VueRouter 将我的组件加载到 router-view
中但是当我在 /form/1
中点击 /form/2
没有任何反应!
您需要观察 $route
中的参数变化并执行正确的操作(例如,进行 ajax 调用以检索给定 ID 的信息),因此:
watch: {
'$route' (to, from) {
// React to route change
}
}
您也可以使用 beforeRouteUpdate
守卫(参见:https://router.vuejs.org/en/essentials/dynamic-matching.html)
你也可以给router-view
添加一个独特的key
属性,这样vue就可以强制替换组件而不是重复使用它
<router-view :key="$route.path"></router-view>