使用router.beforeEach时,Vue路由器视图不会重新发送

时间:2017-01-15 22:04:34

标签: vue.js vue-component vue-router

我正在使用Vue路由器,我需要使用with open('test.txt','w',encoding='utf-8-sig') as f: print('I\u0305V\u0305',file=f) 回调来确定某个路由是否已被命中。唯一的问题是,当使用回调时,router.beforeEach不会呈现任何内容。

<router-view></router-view>

app.vue

<template> <div id="app"> <navComponent></navComponent> <router-view></router-view> </div> </template> <script> import navComponent from './nav' export default { components: { navComponent } } </script>

routes.js

import VueRouter from 'vue-router'; export default new VueRouter({ routes: [ { path: '/', component: require('./views/home') }, { path: '/logout' } ], linkActiveClass: 'is-active' });

app.js

如果修复非常简单,请提前抱歉,我似乎无法找到解决方案。

感谢。

1 个答案:

答案 0 :(得分:4)

事实证明我错过了next();回调中的beforeEach来电。

import './bootstrap';
import router from './routes';
import app from './views/app';

router.beforeEach((to, from, next) => {
    if(to.fullPath === '/logout') {
        axios.get('/logout');
        router.push('/');
    }

    next(); //this is needed
});