Я использую метод resol интерфейса Routes для разрешения данных маршрутов из Store (ngrx), возвращая наблюдаемый редуктор в методе canUse интерфейса Resolve.Однако, в отличие от возвращаемых Observables метода http HtppClient, возвращаемое Store значение Observable, похоже, не работает так же.
У меня есть класс распознавателя ResolveFromStore , который выглядит следующим образом:
@Injectable()
export class ResolveFromStore implements Resolve<Observable<any>> {
observable:Observable<any>
constructor(
private _store:Store<any>
) {
// the reducer
this.observable = this._store.select(from_store_index.getLanguage);
}
resolve(route: ActivatedRouteSnapshot) {
return this.observable;
}
}
и в моем маршрутизаторе Я включил его так:
const routes: Routes = [{
path: '',
component: PostPaidPageComponent,
children: [
{
path: 'treatment',
component: TreatmentPostpaidComponent,
resolve: {
fromStore: resolvers.ResolveFromStore
}
}...
Как бы то ни было, это не работает с подпиской на магазин, в отличие от подписки на http, которая разрешается нормально.Я возвращаю наблюдаемое в функции разрешения , так что может быть не так.