在路由器激活路由前解析数据 - Resolve
Resolve
接口定义了开始导航时调用 resolve()
路由器在最终激活路由之前等待数据解析。
interface Resolve<T> {
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<T> | Promise<T> | T
}
在Resolver中解析数据:
@Injectable({
providedIn: 'root' })
export class HeroResolver implements Resolve<Hero> {
constructor(private service: HeroService) {
}
// 注意:返回值类型
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> | Promise<any> | any {
// 获取路由中的id信息:route.paramMap.get('id')
// return 示例1
return this.service