vue-router 鉤子函數(shù)(路由攔截)
可以用來修改title或者用來登錄判斷
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Person from '@/components/Person'
import Main from '@/components/Main'
// 引入vux
import vux from "./vux.js"
Vue.use(Router)
var router = new Router({
routes: [
{
path: '/',
name: 'Main',
meta:{
title:"Main"
},
component: Main
},
{
path: '/helloWorld',
name: 'HelloWorld',
meta:{
title:"HelloWorld"
},
component: HelloWorld
},
{
path: '/person',
name: 'Person',
meta:{
title:"person"
},
component: Person
},
...vux
]
})
router.beforeEach((to, from, next) => {
window.document.title = to.meta.title;
next();
})
export default router;
router.beforeEach((to, from, next) => {
var userInfo = window.localStorage.getItem('token');//獲取瀏覽器緩存的用戶信息
if(userInfo){ //如果有就直接到首頁咯
next();
} else {
if(to.path=='/login' || to.path=="/bar2"){ //如果是登錄頁面路徑,就直接next()
next();
} else { //不然就跳轉(zhuǎn)到登錄;
next('/login');
}
}
})