vue 路由导航白话全解析
这里先放上官网的教程和说明:点击这里,vue导航守卫官方文档
路由守卫
路由守卫说白了就是路由拦截,在地址栏跳转之前 之后 跳转的瞬间 干什么事
全局守卫
全局守卫顾名思义,就是全局的,整个项目所有路由,跳转所用到的守卫(拦截),设置了全局守卫之后,只要路由(浏览器地址栏)发生变化就会触发的事件
全局守卫分为二部分 前置守卫(跳转之前) 后置钩子(跳转之后)
前置守卫:
router.beforeEach
这个方法有三个参数
(to, from, next)
to:即将进入的地址,比如说 点击按钮 从 A 跳转到 B ,那么to就是 B 的路由对象,
from:要离开的地址,比如说 点击按钮 从 A 跳转到 B ,那么to就是 A 的路由对象,
next:就是在跳转的时候要执行的事件,比如说 点击按钮 从 A 跳转到 B ,然后我在next执行了一个方法 next({ path: ‘/C’ }) 这样就会跳转到C 页面,而不是 B 页面了,这就是路由拦截了,如果这么写的话 不管你愿来是想从 那个页面 跳转 那个页面 他都会给你跳转到 C 页面
在这里就可以判断,如果满足一定的条件 就让他 next({ path: ‘/C’ }) 就是满足一定的条件 才让他跳转到C 不满足的时候 就正常跳转
这里next 还有一个作用 next(false) 这样会中断路由的跳转 比如说 点击按钮 从 A 跳转到 B 然后我执行了 next(false) 那么浏览器就不会进行跳转 从新回到A页面 这样就阻止了路由的跳转 在这里就可以判断,如果满足一定的条件 就让他 next(false) 这样就不进行跳转了
路由独享守卫
顾名思义:就是这个守卫,只是单独的这个组件独享的,局部的,不是全局的,只有这个路由在进行跳转的时候,才会触发的,其他的组件,路由进行跳转的时候不执行这个方法
独享守卫有三个方法:
beforeRouteEnter 在渲染该组件的对应路由被 confirm 前调用 就是页面跳转前要执行的方法 要干的事
beforeRouteUpdate 在当前路由改变,但是该组件被复用时调用 就是当页面 在A 跳转到 B 的一瞬间 要干的事
beforeRouteLeave 导航离开该组件的对应路由时调用 就是在跳转完成之后 要干的事
这三个方法 都有三个参数 (to, from, next) 跟全局守卫的 三个参数用法一样
其中 beforeRouteEnter 守卫 不能 访问 this 其他两个守卫可以访问到this
vue 路由导航白话全解析的更多相关文章
- react router @4 和 vue路由 详解(全)
react router @4 和 vue路由 本文大纲: 1.vue路由基础和使用 2.react-router @4用法 3.什么是包容性路由?什么是排他性路由? 4.react路由有两个重要的属 ...
- Vue 路由导航解析流程
Vue Router完整的导航解析流程
- vue路由导航守卫及前置后置钩子函数参数详解
首先构建一个测试demo如下图: 接着来探讨路由配置界面 import Vue from 'vue' import Router from 'vue-router' // import HelloWo ...
- vue路由\导航刷新后:ative\localStorage\url截取参数
<el-menu :default-active="$route.path" router mode="horizontal"> <el-me ...
- Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]
前言 说到Vue的钩子函数,可能很多人只停留在一些很简单常用的钩子(created,mounted),而且对于里面的区别,什么时候该用什么钩子,并没有仔细的去研究过,且Vue的生命周期在面试中也算是比 ...
- vue.js编程式路由导航 --- 由浅入深
编程式路由导航 实例中定义一个方法,这个方法绑定在标签上 然后就设置路由跳转 语法 this.$router.history.push('要跳转路由的地址') <!DOCTYPE html> ...
- 【VUE】5.路由导航守卫
1. 功能需求 1. 当用户登陆成功后,把得到的token存到Session Storage 2. components -> Form.vue , 对预验证进行校验,如果验证不正确就跳出,如果 ...
- vue之路由导航守卫-全局前置守卫
一.使用方式 全局前置守卫用于在路由配置生效之前进行一些动作,可以使用 router.beforeEach 注册一个全局前置守卫: const router = new VueRouter({ ... ...
- Vue Router路由导航及传参方式
路由导航及传参方式 一.两种导航方式 ①:声明式导航 <router-link :to="..."> ②:编程式导航 router.push(...) 二.编程式导航参 ...
随机推荐
- ___pInvalidArgHandler already defined in LIBCMTD.lib(invarg.obj)
vs2013编译项目时出错,网上很多的解决方案全都是垃圾,根本不能用 不过也有不是垃圾的,就是下面这个: 关于采用静态链接编译生成EXE库函数重复定义问题 看了好多关于类似LIBCMT.lib(inv ...
- vue简单路由(一)
在项目中,将vue的单页面应用程序改为了多页面应用程序,因此在某些场景下,需要频繁的切换两个页面,因此考虑使用路由,这样会减少服务器请求. 使用vue-cli(vue脚手架)快速搭建一个项目的模板(w ...
- Mysql慢查询定位和优化实践分享
调优目标:提高io的利用率,减少无谓的io能力浪费. 1.打开慢查询日志定位慢sql: my.cnf: slow_query_log slow_query_log_file=mysql.slow lo ...
- Ubuntu下 Nfs服务器安装
Ubuntu Nfs服务器安装 nfs服务器在嵌入式开发中非常常用,可以实现主机和开发板共享文件. 1.安装软件包 sudo apt-get install nfs-common nf ...
- Java多线程-线程的调度(让步)
线程的让步含义就是使当前运行着线程让出CPU资源,但是扔给谁不知道,仅仅是让出,线程状态回到可运行状态. 线程的让步使用Thread.yield()方法,yield()为静态方法,功能是暂停当前正在执 ...
- mfs教程(四)
mfs文件系统(四) MooseFS 维护 一.启动MooseFS集群 最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤: 1.启动mfsmaster进 ...
- adb shell unauthorized问题
出现unauthorized 一般插上usb后,手机会弹出一个要求你授权debugging的对话框,如果没有的话,就是rsa_key有问题: /adb_keys. User-installed key ...
- Apache logresolve命令
一.简介 logresolve是一个解析Apache访问日志中IP地址的后处理程序. 二.语法 logresolve [ -s filename ] [ -c ] < access_log &g ...
- 932F Escape Through Leaf
传送门 题目大意 https://www.luogu.org/problemnew/show/CF932F 分析 我们可以从叶子向根每次插入b和ans 所以我们不难发现就是相当于插入线段 于是李超树+ ...
- 单元测试NUnit 的文章
请参考 https://www.cnblogs.com/ranh941/p/7629279.htmlhttps://blog.csdn.net/qincode/article/details/1831 ...