Angular Resolver 教程

Photo by Kristine Weilert on Unsplash

声明

本教程是 Angular 路由快速教程的后续章节。假设您已经拥有了一些 Angular

相关的基础路由知识,了解了 Angular 路由模块常见路由组件以及路由匹配的

基本方法,尚不清楚的同学建议复习一下路由相关知识

Resolver —— 路由的新机制

在很多时候,我们会在组件初始化的时候(ngOnInit 消息钩子)中预先抓取数

据。但是假如数据抓取耗时较长,会导致在组件渲染的时候数据还没拿到渲染

的数据(多数情况会在控制台报错)。为了避免这种情况,就要用到 Resolver

在路由到组件之前做数据的预抓取。

相比于直接在组件中注入服务,Resolver 可以将数据抓取与其他业务逻辑分离

开来,更加利于项目的维护和扩展。

这种做法也被称为遵循 “单一职责原则(single responsibility principle )”。

Angular 配置一个 Resolver 也非常简单。只需在路由匹配表中,为某一条路

由的 resolve 属性指定一个满足某种格式的服务,就可以轻松实现预抓取。

继续阅读Angular Resolver 教程