20190703——他山之石可以攻玉 导航守卫

本文介绍如何在Vue项目中修改端口配置,实现在同一IDE下编译多个项目,并详细解析了Vue Router的导航守卫功能,实现基于sessionStorage的权限控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改vue的端口号

在config下面的index.js中调制port的数值,以此来更改端口号。

在同一个webstorm中编译两个项目

File-> Settings -> Directories -> Add Content Root,选择你要加入的Project 点击OK -> Apply -> OK 搞定。

阶段小结
目前routes.js路由的跳转已经完毕。

导航守卫

导航就是我们说的路由,当路由发生变化的时候,我们想要做的事情,这就是导航守卫的重点。

const router = new VueRouter({ ... })

router.beforeEach((to, from, next) => {
  // ...
})

to,from,next三个参数都是必要的to: 即将要进入的目标 路由对象from: 当前导航正要离开的路由next:一定要调用该方法来 resolve 这个钩子,如果不写next()或者next(false),页面路由不会跳转,也就是页面被阻止在当前页面了to,from是一个对象,就是routes[] 数组里面配置的某个具体的路由对象,
很简单的应用。

router.beforeEach((to, from, next) => {
  if (to.path === '/') {
    sessionStorage.removeItem('user')
  }
  let user = JSON.parse(sessionStorage.getItem('user'))
  if (!user && to.path !== '/') {
    next({ path: '/' })
  } else {
    next()
  }
})

代码如下,在我们项目中,我的首页就是登陆页面。也就是’/'的路径,所以每次进行一次判断。然后这样就相当于权限限制了路由。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值