用途:在 Angular 应用中处理路由解析器(Route Resolvers),实现路由激活前的数据预取,避免组件加载后再异步取数导致的空白或闪烁。
主要能力:提供函数式解析器写法、在路由中注册解析器、在组件中读取已解析数据、解析器错误处理,以及在同一路由上使用多个解析器。
使用方式:用 ResolveFn 定义函数式解析器,通过 inject 注入服务并读取 route.paramMap 参数;在路由配置的 resolve 字段中注册,如 resolve: { user: userResolver };组件中通过 ActivatedRoute 的 snapshot.data 读取,或使用 Angular 17+ 的 input 绑定;错误处理可在管道中使用 catchError 返回兜底值;多个解析器以对象形式并列配置。
适用场景:需要在进入路由前准备好用户、设置等数据的页面,如用户详情、仪表盘等。
限制:资料基于 Angular 21(2025),未提供版本兼容范围、性能影响、与其他数据加载策略的对比及完整 API 说明,具体以官方文档为准。