【问题标题】:Vue-Router won't work when a route is activated激活路由时 Vue-Router 将不起作用
【发布时间】:2018-04-02 09:41:22
【问题描述】:

考虑以下路线:

  1. /form/1
  2. /form/2
  3. /form/3

当地址为/ 并且我点击/form/1 时,VueRouter 将我的组件加载到router-view 中,但是当我在/form/1 中点击/form/2 时没有任何反应!

【问题讨论】:

    标签: vue.js vuejs2 vue-router


    【解决方案1】:

    你也可以给router-view添加一个唯一的key属性,以便vue强制替换组件而不是重复使用它

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

    【讨论】:

      【解决方案2】:

      您需要注意 $route 中的参数更改并执行正确的操作(例如,进行 ajax 调用以检索给定 id 的信息),因此:

      watch: {
        '$route' (to, from) {
         // React to route change
       }
      }
      

      您也可以使用beforeRouteUpdate 守卫(参见:https://router.vuejs.org/en/essentials/dynamic-matching.html

      【讨论】:

        猜你喜欢
        • 2020-03-25
        • 2018-02-19
        • 2017-04-17
        • 1970-01-01
        • 2020-08-12
        • 2021-07-18
        • 2018-03-31
        • 1970-01-01
        • 2017-09-13
        相关资源
        最近更新 更多