挂载路由导航守卫 router
Posted jinsuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了挂载路由导航守卫 router相关的知识,希望对你有一定的参考价值。
import Vue from ‘vue‘ import Router from ‘vue-router‘ import Login from ‘./components/Login.vue‘ import Home from ‘./components/Home.vue‘ import Welcome from ‘./components/Welcome.vue‘ import Users from ‘./components/user/Users.vue‘ import Rights from ‘./components/power/Rights.vue‘ import Roles from ‘./components/power/Roles.vue‘ Vue.use(Router) const router = new Router({ routes: [ { path: ‘/‘, redirect: ‘/login‘ }, { path: ‘/login‘, component: Login }, { path: ‘/home‘, component: Home, redirect: ‘/welcome‘, children: [ { path: ‘/welcome‘, component: Welcome }, { path: ‘/users‘, component: Users }, { path: ‘/rights‘, component: Rights }, { path: ‘/roles‘, component: Roles } ] } ] }) // 挂载路由导航守卫 防止 不登录 直接访问页面 router.beforeEach((to, from, next) => { // to 将要访问的路径 // from 代表从哪个路径跳转而来 // next 是一个函数,表示放行 // next() 放行 next(‘/login‘) 强制跳转 if (to.path === ‘/login‘) return next()
//项目中出了登录之外的其他API接口,必须在登录之后才能访问
// 1.2 token 只应在当前网站打开期间生效,所以将 token 保存在 sessionStorage 中
// 获取token
const tokenStr = window.sessionStorage.getItem(‘token‘)
if (!tokenStr)
return next(‘/login‘)
next()
})
export default router
以上是关于挂载路由导航守卫 router的主要内容,如果未能解决你的问题,请参考以下文章
Vue总结第五天:vue-router (使用模块化(创建Vue组件)机制编程)router-link 标签的属性路由代码跳转懒加载路由嵌套(子路由)路由传递数据导航守卫)