激活路由后,Vue-Router 将无法工作

Vue-Router won't work when a route is activated

考虑以下路线:

  1. /form/1
  2. /form/2
  3. /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>