博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
before vue路由钩子_Vue使用路由钩子拦截器beforeEach和afterEach监听路由
阅读量:6358 次
发布时间:2019-06-23

本文共 1750 字,大约阅读时间需要 5 分钟。

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

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

总体来讲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: {}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

原文链接:https://blog.csdn.net/ddr66288/article/details/102119947?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

你可能感兴趣的文章
Moving to Docker(二)搭建一个私有registry服务
查看>>
开发者可以使用Docker做什么?
查看>>
网络监控神器!这7大免费开源工具可别错过
查看>>
高德地图POI升维 打通阿里电商数据
查看>>
CloudCC神州云动带领首批合作伙伴步入CRM生态
查看>>
中国人工智能学会通讯——构建强健的人工智能:原因及方式 4. 检测异常
查看>>
网安事故屡禁不止 四大因素不容忽视
查看>>
《SQL入门经典(第5版)》一一6.3 事务控制与数据库性能
查看>>
《Microsoft.NET企业级应用架构设计(第2版)》——1.4 笑到最后
查看>>
怎样才能自学好Java?
查看>>
《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.9 蓝牙SIG...
查看>>
《OpenACC并行编程实战》—— 第3章 OpenACC计算构件 3.1 条件编译
查看>>
css的hover事件,如果点击之后通过js操作样式,hover事件就会失效的处理方法,外部css样式与js的DOM样式谁的权重高?...
查看>>
《DB2性能管理与实战》——2.6 DB2 pureScale环境中内存管理
查看>>
《Android应用开发入门经典(第3版)》——第6.9节练习
查看>>
演讲实录丨马迁 智慧教育的发展和分步实施
查看>>
超酷的 Vim 搜索技巧
查看>>
《软件测试技术实战:设计、工具及管理》—第1章 1.2节软件测试的七项基本原则...
查看>>
《精通Python网络爬虫:核心技术、框架与项目实战》——1.2 为什么要学网络爬虫...
查看>>
《C++ 黑客编程揭秘与防范(第2版)》——6.1 PE文件结构
查看>>