Vue-router 学习

Vue Router

Vue Router的官方文档:https://router.vuejs.org/zh/

一、完整的导航解析流程

1、导航被触发。
2、在失活的组件里调用beforeRouteLeave守卫。
3、调用全局的beforeEach守卫。
4、在重用的组件里调用beforeRouteUpdate守卫(2.2+)。
5、在路由配置里调用beforeEnter守卫。
6、解析异步路由组件。
7、在新被激活的组件中调用beforeRouteEnter守卫。
8、调用全局的beforeResolve守卫(2.5+)。
9、导航被确认。
10、调用全局的afterEach钩子。
11、触发DOM更新。
12、用创建好的实例调用beforeRouteEnter守卫中传给next的回调函数

二、进阶

1、路由元信息

一个路由匹配到的所有路由记录会暴露为 $route 对象 (还有在导航守卫中的路由对象) 的 $route.matched 数组。
因此,我们需要遍历 $route.matched 来检查路由记录中的 meta 字段。

2、过渡动效(可以与滚动行为一起)
3、数据获取

一种是“导航完成之后获取”:先完成导航,然后在接下来的组件生命周期钩子中获取数据。在数据获取期间显示“加载中”之类的指示。
另一种是“导航完成之前获取”:导航完成前,在路由进入的守卫中获取数据,在数据获取成功后执行导航。
从技术角度讲,两种方式都不错 —— 就看你想要的用户体验是哪种。

4、滚动行为(可以与过渡动效一起)
5、路由懒加载(提高性能、加快首页面加载时间)

三、注意事项

1、尽量使用props进行解耦
2、全局前置守卫beforeEach中确保调用next()方法,否则钩子就不会被resolved解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘半仙回来了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值