Vue 路由钩子

作者: 肆意木 | 来源:发表于2019-03-19 21:54 被阅读2次

路由钩子主要作用是拦截导航,让他完成跳转或者取消跳转。比如登录界面输入了账号、密码,主界面需要展示账号,但是你没有把 “账号” 这个字段保存到 vuex 或者 session 里面,直接跳转会导致主界面显示空白,这个时候你就需要一个 beforeRouteLeave 路由钩子,还没有数据的情况下,禁止界面跳转,举例子(伪代码):

beforeRouteLeave(to,from,next){
  if('account' === ' '){
      next(false);
  }else{
    next();
  };
};

大概就是这么个意思,参数 to ——是要跳转到的界面,from —— 从哪个界面离开,next() —— 是否允许跳转,如果是 next(false) ——禁止跳转,next({name:LOGIN}) —— 跳转到登录界面(需要自己手动配置路由),next() 或者 next(true) ——允许跳转。

路由钩子的主要实现方式有三种

1. 全局实现

1.1 使用 router.beforeEach 注册一个全局的 before 钩子:

var routes = [{
  path:'/route1',
  name:'route1',
  component:() = > import('./index.vue')  //调用的时候再开始加载
}]
 const router = new VueRouter({ 
    routes;
  })
router.beforeEach((to, from, next) => {
  next(false);
})

1.2 全局的 after 钩子,(after 钩子没有 next 方法,不能改变导航)

2. 路由独享

2.1 配置路由的时候可以直接增加 beforeEnter,功能类似 before。

var routes = [{
  path:'/route1',
  name:'route1',
  component:() = > import('./index.vue')  //调用的时候再开始加载
  beforeEnter: (to, from, next) => {
       next();
  }

}]

3. 组件内实现的钩子

3.1 beforeRouteEnter
在导航确认之前调用,新组件的 beforeCreate 之前调用,所以特别注意它的 this 是 undefined

3.2 beforeRouteUpdate

用法:点击更新二级导航时调用。

3.3 beforeRouteLeave
离开当前界面之前调用,用法:1. 需要的保存或者删除的数据没有完成当前操作等等原因,禁止界面跳转。

相关文章

  • 2021-04-11

    vue-router 路由钩子函数(导航守卫) 路由钩子函数有三种: 全局钩子: beforeEach(全局前置守...

  • vue-router路由守卫

    vue-router导航钩子 vue-router导航钩子的主要作用是拦截导航,让路由完成跳转或者取消; 导航钩子...

  • Vue-Router 导航守卫

    导航守卫 导航表示路由正在发生改变。(变化的路由)导航守卫就是变化的路由钩子。路由钩子的意思可以理解为vue-ro...

  • Vue视频教程系列第三十五节—路由器里的钩子函数

    路由钩子函数介绍: 我之前有介绍过vue里的钩子函数,有四对,也就是八个钩子函数。在路由里呢,其实也有钩子函数,个...

  • Vue 路由钩子

    路由钩子主要作用是拦截导航,让他完成跳转或者取消跳转。比如登录界面输入了账号、密码,主界面需要展示账号,但是你没有...

  • vue路由钩子

    路由钩子 1.全局钩子2.某个路由独享钩子3.组件内钩子 全局钩子 beforeEach(全局前置守卫)、afte...

  • 详解Vue路由钩子及应用场景

    一. 路由钩子语法 在vue-router的官方文档中, 将路由钩子翻译为导航守卫, 下面是文档中的内容摘要, 大...

  • vue-router的钩子函数

    vue路由钩子大致可以分为三类: 1.全局钩子 主要包括beforeEach和aftrEach, beforeEa...

  • vue-router路由拦截器

    Vue Router 是vue.js官方路由管理器 路由出口 声明式导航 编程式导航 全局前置守卫 全局后置钩子 ...

  • vue-router方法的记录

    记录一下vue-router中的路由钩子函数的基本用法 路由钩子函数分为三种类型如下: 第一种:全局钩子函数。 r...

网友评论

    本文标题:Vue 路由钩子

    本文链接:https://www.haomeiwen.com/subject/vqdomqtx.html