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 路由导航守卫的更多相关文章

  1. vue路由导航守卫及前置后置钩子函数参数详解

    首先构建一个测试demo如下图: 接着来探讨路由配置界面 import Vue from 'vue' import Router from 'vue-router' // import HelloWo ...

  2. 【VUE】5.路由导航守卫

    1. 功能需求 1. 当用户登陆成功后,把得到的token存到Session Storage 2. components -> Form.vue , 对预验证进行校验,如果验证不正确就跳出,如果 ...

  3. vue之路由导航守卫-全局前置守卫

    一.使用方式 全局前置守卫用于在路由配置生效之前进行一些动作,可以使用 router.beforeEach 注册一个全局前置守卫: const router = new VueRouter({ ... ...

  4. Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]

    前言 说到Vue的钩子函数,可能很多人只停留在一些很简单常用的钩子(created,mounted),而且对于里面的区别,什么时候该用什么钩子,并没有仔细的去研究过,且Vue的生命周期在面试中也算是比 ...

  5. vue 路由导航白话全解析

    这里先放上官网的教程和说明:点击这里,vue导航守卫官方文档 路由守卫 路由守卫说白了就是路由拦截,在地址栏跳转之前 之后 跳转的瞬间 干什么事 全局守卫 全局守卫顾名思义,就是全局的,整个项目所有路 ...

  6. vue router 导航守卫生命周期

    导航守卫 导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的.(记住参数或查询的改变并不会触发进入/离开的导航守卫.你可以通过观察$r ...

  7. Vue 路由导航解析流程

    Vue Router完整的导航解析流程

  8. vue关于导航守卫的几种应用场景

    beforeEach 该钩子函数主要用来做权限的管理认证 router.beforeEach((to, from, next) => { if (to.matched.some(record = ...

  9. Vue之七导航守卫

    { path:'/',component:Recommend,beforeEnter: (to, from, next) => { console.log(to); ajax('get','/a ...

  10. vue路由\导航刷新后:ative\localStorage\url截取参数

    <el-menu :default-active="$route.path" router mode="horizontal"> <el-me ...

随机推荐

  1. bat脚本批量删除指定源码编译后的文件

    @echo off @REM 使循环内的set命令有效 setlocal enabledelayedexpansion set DIR_ROOT=%~dp0..\ for /f "delim ...

  2. 用shell开火车哈哈

    用shell开火车!(σ゚∀゚)σ⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶ while true; do sl -aFile; done 这个效果更佳

  3. NOIP2014普及组

    T2]比例简化 其实比较简单,主要是比较的方法以前没看过吧 要学会知识迁移啊! #include<iostream> #include<cstring> #include< ...

  4. win10启动和安装nacos服务

    https://blog.csdn.net/tbmingzhao/article/details/113276845

  5. 查看app包名

    操作步骤: 1.cmd中输入命令:adb shell am monitor 2.启动需要获取包名的应用

  6. Float浮动、 CSS定位(position)

    Float浮动. CSS定位(position)1.CSS定位机制(1)普通流(标准流)-默认状态,元素自动从左往右,从上往下的排列(2)浮动-会使元素向左或向右移动,只能左右,不能上下-浮动元素碰到 ...

  7. Java新手问题 请问各路大佬这是什么问题导致的呢?

  8. Angular Material TreeTable Component 使用教程

    一. 安装 npm i ng-material-treetable --save npm i @angular/material @angular/cdk @angular/animations -- ...

  9. 6 Sampling Configuration Space: 6.4 Adaptive Steered Molecular Dynamics

    6.4 Adaptive Steered Molecular Dynamics 理论背景: SMD 利用施加steering力的伪粒子,以便以特定速度穿过反应坐标. 这个外力允许人们在MD模拟时间尺度 ...

  10. 我亲自整理的Tampermonkey(以下简称tm)v4.13.6136的编辑器按键映射(基于联想笔记本键盘+win10+火狐浏览器企业版)

    警告:你可以对该随笔内容进行转载,但必须写明其来源网址,以及其作者是博客园的zqdlly,否则后果自负!不要小看了我,我一定会让你付出你应得的成本. 0. 家喻户晓的 键 原生comment myMe ...