【问题标题】:Callback function in beforeRouteEnter is not triggered未触发 beforeRouteEnter 中的回调函数
【发布时间】:2018-12-27 14:56:24
【问题描述】:

我有简单的路线:/follower/:token/edit 和 /follower/new

当我通过 $router.push('/follower/new') 从第一个移动到第二个时,befoureRouteEnter 钩子被触发,但 'next' 函数内的回调函数不存在(当我从不同的路线或重新加载页面)。

beforeRouteEnter(to, from, next) {
    debugger; //is triggered
    next(vm => {
        debugger; //is not triggered
    })
}

你知道哪里出了问题吗?

Vue:2.5.17 Vue路由器:3.0.1

问候

【问题讨论】:

标签: javascript vue.js vue-router


【解决方案1】:

如果您在使用相同组件的路线之间导航 - vue 会尝试通过提供兑现版本来进行优化。我不确定这是否是您遇到的情况 - 但您可以尝试通过向您的 <router-view> 添加键值来强制重新实例化。

执行此操作的“常见”方法是使用 $route.path

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

【讨论】:

  • 就是这样!谢谢
  • 不客气 :-)。旁注这也解决了路线转换不显示的问题。
猜你喜欢
  • 2021-06-22
  • 2012-08-09
  • 2015-04-02
  • 2018-03-17
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
相关资源
最近更新 更多