Vue路由守卫

一、全局路由守卫

(一)meta配置项

我们能够在路由组件中配置meta配置项,便于我们存储组件的相关信息(如:该组件展示时的标题名,访问该组件时是否需要权限校验)

meta : { a : xxx, b : xxx }

(二)全局前置路由守卫

该路由守卫会在应用初始化和切换页面时调用。

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

// 权限判断

next();

} )

我们能通过to和from参数拿到我们路径跳转的相关信息。

我们在下面的例子中在页面跳转的时候进行权限判断:

注意:使用前置路由和后置路由都要接收VueRouter实例对象然后暴露。

(三)全局后置路由守卫

后置路由守卫在初始化和页面跳转的时候调用。

router.afterEach( (to, from)=>{

// 页面跳转后的操作

})

比如我们可以用来修改路径跳转后的网页标题:

二、独享路由守卫

独享路由守卫就是给一个路由组件单独添加一个路由守卫,在路由组件中进行配置:

beforeEnter(to, from, next) {

// 权限判断

next();

}

其作用和全局前置路由守卫相同,全局前置路由守卫是给所有的组件路由添加路由守卫。

三、组件路由守卫

组件路由守卫就像组件的声明周期函数一样,在进入或离开该组件的时候被调用。

(一)进入路由守卫

进入该组件的时候就会调用进入路由守卫。

beforeRouteEnter (to, from, next) {

// 进去页面前操作

next();

}

(二)离开路由守卫

离开该组件的时候就会调用进入路由守卫。

beforeRouteLeave (to, from, next) {

// 离开页面前操作

next();

}

相关推荐
桂月二二4 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
CodeClimb5 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
沈梦研5 小时前
【Vscode】Vscode不能执行vue脚本的原因及解决方法
ide·vue.js·vscode
hunter2062065 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb5 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角5 小时前
CSS 颜色
前端·css
轻口味6 小时前
Vue.js 组件之间的通信模式
vue.js
浪浪山小白兔6 小时前
HTML5 新表单属性详解
前端·html·html5
lee5767 小时前
npm run dev 时直接打开Chrome浏览器
前端·chrome·npm
2401_897579657 小时前
AI赋能Flutter开发:ScriptEcho助你高效构建跨端应用
前端·人工智能·flutter