vue routing 6: navigation hook

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <div>
        <router-link to="/">首页</router-link>
        <router-link to="/login">登录</router-link>
        <router-link to="/post">Post management</router-link>
    </div>

    <div>
        <router-view></router-view>
    </div>
</div>

<script src="../lib/vue.js"></script>
<script src="../lib/router.js"></script>
<script src="./js/app.js"></script>
</body>
</html>

app.js:

var routes = [
    {
        path: '/',
        component:{
            template: `
            <p>This is the home page</p>
        `
        }
    },{
        path: '/login',
        component: {
            template: `
            <p>This is the login!</p>
        `
        }
    },{
        path: '/post',
        component: {
            template: `
            <p>This is post management</p>
        `
        }
    }
];

var router = new VueRouter ({
    routes: routes,
});

router.beforeEach(function(to, from, next){
    var login_in = true;
    if(!login_in && to.path == '/post'){
        next('/login')
    }else{
        next();
    }
})

router.afterEach(function(to, from){
    console.log("to", to);
    console.log("form", from);
});

var app = new Vue ({
    el: '#app',
    router: router
})

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324634120&siteId=291194637