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 ...
随机推荐
- entries
let arr = [1,2,3,4,5,6,7]; for (let [index, leaflet] of arr.entries()){ console.log(index,leaflet) }
- 攻防(一)tomcat CVE-2020-1938,ftp 21端口
TOMCAT kali自带POE msf6 > use auxiliary/admin/http/tomcat_ghostcat set RHOST 10.98.xx.xx msf6 auxil ...
- Excel如何默认禁用科学计数法?
微软论坛版主回复"无法默认禁用此功能",可在"设置单元格格式"-"自定义"-"类型"改为"0",去除 ...
- 线程池使用、countDownLatch、以及数据库批量插入 添加配置优化插入与计算
//新建线程池ThreadPoolExecutor cpuThreadPoolExecutor = ThreadUtil.getCpuThreadPoolExecutor(); //使用Countdo ...
- Float浮动、 CSS定位(position)
Float浮动. CSS定位(position)1.CSS定位机制(1)普通流(标准流)-默认状态,元素自动从左往右,从上往下的排列(2)浮动-会使元素向左或向右移动,只能左右,不能上下-浮动元素碰到 ...
- break跳出循环
- 调用d2l.plt.imshow(img)不报错、不显示图像的问题
解决方案: 加入如下所示的代码: import matplotlib.pyplot as plt d2l.plt.imshow(img) plt.show()
- Apache Ranger系列九:修改源码支持URI类型为s3的操作
问题描述:ranger在checkPrivileges(org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizer)时,当 ...
- python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记
(如想转载,请联系博主或贴上本博地址) 此篇为上一篇pyqt5图像压缩小工具改良版.因为比较简单,下面直接贴上代码. 效果图: # -*- coding: utf-8 -*- # Form imple ...
- P1706 全排列问题(DFS)
全排列问题 题目描述 按照字典序输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数n 输出格式 由1 ~ n组成的所有不重复的数字序列 ...