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 相关文章推荐
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
Nov 14 Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 Javascript
js操作输入框提示信息且响应鼠标事件
Mar 25 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
开启BootStrap学习之旅
May 04 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
Angular 数据请求的实现方法
May 07 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
May 01 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
Sep 10 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
PHP新手上路(七)
2006/10/09 PHP
隐藏你的.php文件的实现方法
2007/03/19 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python爬虫爬取某站上海租房图片
2018/02/04 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python 函数list&read&seek详解
2019/08/28 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
求职简历中个人的自我评价
2013/12/25 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python