Vue使用路由钩子拦截器beforeEach和afterEach监听路由


Posted in Javascript onNovember 16, 2020

在路由跳转的时候,我们需要一些权限判断或者其他操作。这个时候就需要使用路由的钩子函数。

定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数。

总体来讲vue里面提供了三大类钩子,两种函数 1、全局钩子 2、某个路由的钩子 3、组件内钩子

两种函数:

1. router.beforeEach(function(to,form,next){}) /*在跳转之前执行*/

2. router.afterEach(function(to,form)}{}) /*在跳转之后判断*/

全局钩子函数

顾名思义,它是对全局有效的一个函数

// router.jsconst router = new Router({
 routes: [
  {
   path: '/',
   name: 'sideBar',
   component: sideBar,
   children:[
    {
     path:'/',
     name:'sort',
     component:sort
    },
    {
     path:'/addNewSort',
     name:'addNewSort',
     component:addNewSort
    },
    {
     path:'/notSend',
     name:'notSend',
     component:notSend
    },
    {
     path:'/sended',
     name:'sended',
     component:sended
    },
  }
 ]
})

router.beforeEach((to,from,next)=>{
 // console.log("to:",to);   // router即将进入的路由对象
 // console.log("from:",from); // 当前导航即将离开的路由
 // console.log("next:",next); // Function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。
 if(to.name=='notSend'){
  next({
   name:'sort'
  })
  return
 }
 next()
})

export default router

某个路由的钩子函数

顾名思义,它是写在某个路由里头的函数,本质上跟组件内函数没有区别。

// router.jsconst router = new VueRouter({
 routes: [
  {
   path: '/login',
   component: Login,
   beforeEnter: (to, from, next) => {
    // ...
   },
   beforeLeave: (to, from, next) => {
    // ...
   }
  }
 ]
})

路由组件的钩子

可以在路由组件内直接定义以下路由导航钩子

// *.vuebeforeRouteEnter
beforeRouteUpdate (2.2 新增)
beforeRouteLeave

这里简单说下钩子函数的用法:它是和data,methods平级的。

beforeRouteLeave(to, from, next) {
  next()
},
beforeRouteEnter(to, from, next) {
  next()
},
beforeRouteUpdate(to, from, next) { // 用于相同路由组件的的参数更新
  next()
},
data:{},
method: {}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
Apr 24 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
JS 修改URL参数(实现代码)
Jul 08 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
JS取文本框中最小值的简单实例
Nov 29 Javascript
jquery计算鼠标和指定元素之间距离的方法
Jun 26 Javascript
JavaScript+HTML5实现的日期比较功能示例
Jul 12 Javascript
karma+webpack搭建vue单元测试环境的方法示例
May 24 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
Element Backtop回到顶部的具体使用
Jul 27 Javascript
javascript实现京东快递单号的查询效果
Nov 30 Javascript
小程序实现密码输入框
Nov 16 #Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 #Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 #Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 #Javascript
Vue 数据绑定的原理分析
Nov 16 #Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 #Javascript
Vue指令实现OutClick的示例
Nov 16 #Javascript
You might like
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
javascript数组的扩展实现代码集合
2008/06/01 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
新文化运动的基本口号
2014/06/21 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
golang语言指针操作
2022/04/14 Golang