1、全局守卫(在所有路由展示前触发)//在main.js中
router.beforeEach((to, from, next) => { 
     to 即将要进入的到的路由,值为路由
     from 离开的路由(从哪个路由离开),值为路由
     next 值为函数,这个函数决定你接下来要展示的路由页面
})

router.beforeEach((to, from, next) => {
if(to.path==='/login'){
next();
}else{
alert('你还没登录,请登录');
next('/login');
}
});

 在页面点击时,会先询问,然后跳转。

2、后置钩子(在所有路由展示后触发)//在main.js中

router.afterEach((to,from)=>{ 
    to 即将要进入的到的路由,值为路由
    from 离开的路由(从哪个路由离开),值为路由
});

router.afterEach((to, from) => {
alert('我是后置钩子')
})

3、路由独享的守卫(在当前路由展示前触发)//在router.js

beforeEnter(to, from, next){ //在路由内部使用
    to 即将要进入的到的路由,值为路由
   from 离开的路由(从哪个路由离开),值为路由
   next 值为函数,这个函数决定你接下来要展示的路由页面
};

beforeEnter(to,from,next){
alert('非登录状态下无法管理,请登录');
next('/login');
}

 

4、组件内的守卫
beforeRouteEnter(to, from, next){ //在路由组件内使用
   //在当前路由被展示前调用
};
beforeRouteUpdate(to, from, next){ //在路由组件内使用
   //在当前路改变时调用
};
beforeRouteLeave(to, from, next){ //在路由组件内使用
   //在离开当前路时调用
};

beforeRouteEnter(to, from, next){	//在路由组件内使用
//在当前路由被展示前调用
//alert('你好!');
//alert(this.name); //报错,beforeRouteEnter不能够访问到this对象,因为守卫触发时组件还没有被创建
next(vm=>{
alert(vm.name);
});
},

离开页面时调用

 beforeRouteLeave (to, from, next) {
// 在离开当前路由时调用
const answer=confirm('你确定要离开么?')
if(answer){
next();
}else{
next(false);
}
}

  

vue 导航守卫的更多相关文章

  1. Vue导航守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave详解

    Vue导航守卫以我自己的理解就是监听页面进入,修改,和离开的功能.每个守卫接受三个参数 to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: F ...

  2. vue导航守卫和axios拦截器的区别

    在Vue项目中,有两种用户登录状态判断并处理的情况,分别为:导航守卫和axios拦截器. 一.什么是导航守卫? vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.(在路由跳转时 ...

  3. vue 导航守卫,验证是否登录

    路由跳转前,可以用导航守卫判断是否登录,如果登录了就正常跳转,没有登录就把路由指向登录页面. router.beforeEach((to, from, next) => { const next ...

  4. [Vue]导航守卫:全局的、单个路由独享的、组件级的

    正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的. 记住参数或查询的改变并不会触发进入/离开的 ...

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

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

  6. Vue的路由动态重定向和导航守卫

    一.重定向 重定向也是通过 routes 配置来完成,下面例子是从 /a 重定向到 /b: const router = new VueRouter({ routes: [ { path: '/a', ...

  7. Vue(7)- vue-cookies、极验滑动验证geetest、vue-router的导航守卫

    一.vue-cookies 参考文档简书:https://www.jianshu.com/p/535b53989b39 参考文档npm:https://www.npmjs.com/package/vu ...

  8. vue之生命周期与导航守卫

    组件钩子函数: beforeCreate.created.beforeMount.mounted.beforeUpdate.updated.beforeDestroy.destoryed 还有两个特殊 ...

  9. vue进阶:vue-router之导航守卫、路由元信息、路由懒加载

    1.导航被触发 2.在失活的组件里调用离开守卫:beforeRouteLeave —— 组件内守卫(离开组件). 3.调用全局的beforeEach守卫 —— 全局守卫(进入组件). 4.在重用组件里 ...

随机推荐

  1. kotlin数据解构

    fun main(arg: Array<String>) { val person = person("tom") var (name) = person//解构 pr ...

  2. Flask request 属性详解

    Flask request 属性详解 一.关于request在Flask的官方文档中是这样介绍request的:对于 Web 应用,与客户端发送给服务器的数据交互至关重要.在 Flask 中由全局的 ...

  3. layer弹框层学习笔记

    这里对layer的笔记只是大概记录一下其使用过程,以便后续使用时快速回顾,更详细使用及介绍参考官网实例.链接在本文末 一 .初步了解layer-弹层之美 layer是一款近年来备受青睐的web弹层组件 ...

  4. iOS-保存图片到相册

    //保存      UIButton *saveBtn = [[UIButton alloc] init];    //    saveBtn.frame = CGRectMake((screenWi ...

  5. Flutter 常用组件

    无状态组件(StatelessWidget)是不可变的,这意味着它的属性不能改变,所有的值都是最终的. 有状态组件(StatefulWidget)持有的状态可能在Widget生命周期中发生变化.实现一 ...

  6. ZoomEye

    * https://www.zoomeye.org/ *类似工具 IVRE 1. 摄像头漏洞 (1)http://www.2cto.com/Article/201401/269458.html (2) ...

  7. javascript let

    es6支持通过let关键字声明属于单独块{}的变量,更好的管理变量作用屿 funtion foo() { var a=1; if (a>1) { let b=2; //只属于if模块 while ...

  8. sysbench的简单安装

    1. 下载 可以到网站上面找 我用到的这个是201908最新的 wget https://src.fedoraproject.org/repo/pkgs/sysbench/sysbench-1.0.1 ...

  9. -- 1 -- springboot

    目录 一.Maven依赖 二.配置文件 三.RESTful API 四.编写RESTful和测试用例. 五.数据验证 六.异常处理 七.对API的拦截 七.文件上传下载 八.异步处理 框架或工具:Lo ...

  10. HTTP报文学习

    HTTP报文用于HTTP协议的信息交互,分为请求报文和响应报文.报文由首部和主体两部分组成,中间使用空行(CR+LF)分隔 1. 报文结构 报文由首部.空行和实体组成: 报文中首先是请求行或者状态行, ...