router.beforeEach()一般用來做一些進入頁面的限制。比如沒有登錄,就不能進入某些頁面,只有登錄了之后才有權限查看某些頁面。。。說白了就是路由攔截。
1、我們可以在路由中做以下配置,表示當前路由下的頁面需要登錄權限
meta:{requireAuth:true//true為這個頁面需要登錄權限 }

2、在main.js中寫上路由攔截
router.beforeEach((to,from,next)=>{
//從cookie中取值並給vux中的token賦值
store.commit('setToken',Cookie.get('token'))
//如果vux有值就講登錄狀態改成1
if(store.state.token){
store.commit('changIsSignIn',1)
}
//判斷是否為true,如果為true就是要登錄,去判斷token是否存在。存在就執行,不存在就跳轉登錄頁面
if(to.meta.requireAuth){
if(store.state.token){
next()
}else{
next({path:'/login'})
}
}else{
next()
}
})
