vue工程的router钩子函数全解(实现页面的拦截、跳转、判断)

参数

  • to:route路由对象,即将要进入的目标。头对象下面的属性有path params query hash fullPath matched name meta

  • from:route路由对象,要离开的路由。

  • next:next(),函数,调用方法:next()或者next({path:‘/home’});这个函数必须调用

使用流程

const router =new Router({……});

router.beforeEach((to, from, next) => {

});

1.2 全局后置守卫:afterEach

作用:页面加载之后执行。没有next方法,不能改变导航,代表已经确定好了导航以后怎么去执行,附带执行一个函数。

二、路由独享的钩子函数(路由守卫):beforeEnter


在配置路由的时候直接定义beforeEnter守卫,跳转到这个路由时候才会执行

const router = new VueRouter({

routes: [

{

path: ‘/foo’,

component: Foo,

beforeEnter: (to, from, next) => {

// …

}

}

]

三、组件内的钩子函数(组件守卫)


直接写在单个vue文件中的中,写的位置跟mounted之类的钩子函数同级别。参数都是to、from、next

3.1 beforeRouteEnter

作用:在渲染该组件对应的路由被confirm前调用,

注意:这时候该组件的this不能使用,因为组件实例还没被创建。

3.2 beforeRouteUpdate

作用:当前路由改变,但是该组件被复用时候调用,举例来说,对于三级导航,一个带有动态参数的路径/index/id,在/index/1和 /index/2之间跳转的时候,由于会渲染同样的index组件,因此该组件会被复用,而这个钩子会就再复用的时候调用。

注意:可以使用组件的实力this

3.3 beforeRouteLeave

**作用:**导航离开该组件对应的路由时调用

**注意:**可以使用实例化this

四、路由监听watch


单个vue文件中,设置监听,

watch: {

$route: {

handler: function(val, oldVal){

if(oldVal.path== “/map”){

// this.$refs.tclb.closeDrawer()

this.drawer=false;

}

if(val.path== “/map”){

document.getElementById(“tclb_container”).style.display=“block”;

this.getParams();

//this.drawer=false;

}

},

// 深度观察监听

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值