不会触发beforeRouteEnter中的回调函数

时间:2018-12-27 14:56:25

标签: javascript vue.js vue-router

我有简单的路线:/ 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

致谢

1 个答案:

答案 0 :(得分:0)

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

一种通用的方法是使用$ route.path

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