Vue 路由导航守卫
Vue 路由导航守卫
一:全局守卫
(1) router.beforeEach
beforeEach((to, from, next) => {}) 接收三个参数,在路由切换成功之前调用
to将要进入的目标路由,要去哪里from将要离开的路由,从哪里来next跳转路由,next(false)中断导航
// router -> index.js
router.beforeEach( (to, from, next) => {
// 判断你要访问的路由页面路径是否是'login',若是,则放行
if(to.path == '/login') return next();
// 若不是,则跳转到'login'
next('/login')
})
(2) router.afterEach
afterEach((to, from) => {}) 接收两个参数,在路由切换成功之后调用
to将要进入的目标路由,要去哪里from将要离开的路由,从哪里来
// router -> index.js
router.afterEach( (to, from) => {
// 操作
})
二:组件内守卫
(1) beforeRouteEnter
beforeRouteEnter((to, from, next) => {}) 接收三个参数,到达这个组件之前调用
to将要进入的目标路由,要去哪里from将要离开的路由,从哪里来next访问组件实例、放行
export default {
data(){
return{
name:"Arya"
}
},
beforeRouteEnter(to,from,next){
next(vm=>{ // vm相当于组件中的this
alert("hello" + vm.name);
})
}
}
(2) beforeRouteLeave
beforeRouteEnter((to, from, next) => {}) 接收三个参数,离开这个组件时调用
离开这个组件时,判断是否确认离开。确认执行next();取消执行next(false),留在当前页面。
beforeRouteLeave(to,from,next){
if(confirm("确定离开此页面吗?") == true){
next();
}else{
next(false);
}
}
三:路由独享守卫
beforeEnter
用法与全局守卫一致。只是将其写进其中一个路由对象中,只在这个路由下起作用
Vue 路由导航守卫的更多相关文章
- vue路由导航守卫及前置后置钩子函数参数详解
首先构建一个测试demo如下图: 接着来探讨路由配置界面 import Vue from 'vue' import Router from 'vue-router' // import HelloWo ...
- 【VUE】5.路由导航守卫
1. 功能需求 1. 当用户登陆成功后,把得到的token存到Session Storage 2. components -> Form.vue , 对预验证进行校验,如果验证不正确就跳出,如果 ...
- vue之路由导航守卫-全局前置守卫
一.使用方式 全局前置守卫用于在路由配置生效之前进行一些动作,可以使用 router.beforeEach 注册一个全局前置守卫: const router = new VueRouter({ ... ...
- Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]
前言 说到Vue的钩子函数,可能很多人只停留在一些很简单常用的钩子(created,mounted),而且对于里面的区别,什么时候该用什么钩子,并没有仔细的去研究过,且Vue的生命周期在面试中也算是比 ...
- vue 路由导航白话全解析
这里先放上官网的教程和说明:点击这里,vue导航守卫官方文档 路由守卫 路由守卫说白了就是路由拦截,在地址栏跳转之前 之后 跳转的瞬间 干什么事 全局守卫 全局守卫顾名思义,就是全局的,整个项目所有路 ...
- vue router 导航守卫生命周期
导航守卫 导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的.(记住参数或查询的改变并不会触发进入/离开的导航守卫.你可以通过观察$r ...
- Vue 路由导航解析流程
Vue Router完整的导航解析流程
- vue关于导航守卫的几种应用场景
beforeEach 该钩子函数主要用来做权限的管理认证 router.beforeEach((to, from, next) => { if (to.matched.some(record = ...
- Vue之七导航守卫
{ path:'/',component:Recommend,beforeEnter: (to, from, next) => { console.log(to); ajax('get','/a ...
- vue路由\导航刷新后:ative\localStorage\url截取参数
<el-menu :default-active="$route.path" router mode="horizontal"> <el-me ...
随机推荐
- find_in_set使用:匹配按逗号分隔后的内容
SELECT * FROM `tb_test` WHERE c_id ='123' AND create_time LIKE '2021-06-03%' AND find_in_set('A362 ...
- SpringBatch生成的DB表SQL
SQL: -- Autogenerated: do not edit this file DROP TABLE IF EXISTS BATCH_STEP_EXECUTION_CONTEXT; DROP ...
- webpack打包分析webpack-bundle-analyzer 打包文件分析工具
最近需要减少项目打包后的文件(bundle)的大小,那么首先需要了解bundle的构成. 目前我已知的方法有两种: 利用webpack-bundle-analyzer插件 利用webpack官方提供的 ...
- Spring面试题大汇总
1.Spring的IOC和AOP机制? 我们在使用spring框架其实就是为了实现IOC,依赖注入,和AOP,面向切面编程,主要有两种设计模式工厂模式和代理模式,IOC就是典型的工厂模式,通过sess ...
- 数组扩展(Java)
Arrays类 基本介绍 数组的工具类java.util.Arrays 由于数组本身中没有什么方法可供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作 查 ...
- centos mail 发邮件
1.安装mailx yum -y install mailx 2. /etc/mail.rc 最后增加邮件配置如 set smtp=smtp.qq.comset smtp-auth=loginset ...
- 解决Win7、Win10登录远程桌面连接时报错、提示“要求的函数不受支持”问题
解决Win7.Win10登录远程桌面连接时报错.提示"要求的函数不受支持"问题远程登录主机时地址,用户名,密码均正确,但是提示错误"要求的函数不受支持": 解决 ...
- P2330 繁忙的都市
题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条 ...
- unity shader 描边
https://zhuanlan.zhihu.com/p/66282034 这个是将整个模型放大 在世界坐标操作 https://blog.csdn.net/ToToTofu/article/de ...
- rust-must-know-crates-5ad8 100DayOfRust
https://dev.to/cad97/rust-must-know-crates-5ad8 https://dev.to/search?q=100DayOfRust https://fastert ...