Vuejs路由器forEach没有被解雇

时间:2017-12-21 12:18:28

标签: javascript vuejs2 vue-router

我使用VueJs配置了vue-router,一切正常。除此之外,我想在路由器的beforEach事件上添加一个处理程序。

我已经尝试了很多并且遵循了文档,但我仍然没有让它工作。我的代码是:

const router = new VueRouter({
    routes: routes,

});

router.beforeEach = function(to, from, next){
    console.log(to);
    if (to.path !== '/' && data.Registration.loggedIn === false) {
        console.log('not logged in');
        this.push('/');
    }
    console.log('logged in');

};

const flowApp = new Vue({
    el: '#vue_registration_app',
    router, data, methods
});

即使console.log(to)也没有做任何事情。

2 个答案:

答案 0 :(得分:0)

在文档中建议使用它:

User.first.projects

相反,你这样做:

Contact.first.projects

因此,不是重新分配beforeEach,而是以函数作为参数调用beforeEach函数,一切都应该正常工作

答案 1 :(得分:0)

Vue-router documentation"确保始终调用 next 函数,否则永远不会解析挂钩。" - 我认为应该有所帮助。