Я создал преобразователь, и за исключением того, что все компоненты будут загружаться после завершения работы преобразователя, но иногда компоненты загружаются до выполнения функции преобразователя.
Код преобразователя:
import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs/Rx';
import { ApiService } from '../services';
import { AppState } from 'spotlightcloud-angular-common-website';
import { Locale } from '../locale/locale';
@Injectable()
export class MetricsLocaleResolver implements Resolve<any> {
constructor(public api: ApiService, public appState: AppState, private locale: Locale) {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> | Promise<any> | any {
return this.api.get('monitoring', 'uiconfiguration/metricsmetadata', {}).subscribe(
localeData => {
console.log('localeData: ', localeData);
this.locale.setMetricsLocaleObj(localeData);
}
);
}
}
Печать localeData
иногда появляется после печати в компоненте (в жизненном цикле onChanges
).
resolve
в экземпляреMetricsLocaleResolver
? Ваши компоненты? - person Igor   schedule 23.10.2017