Подписка RxJs не запускается в корневом угловом модуле

У меня есть компонент, который прослушивает http-вызовы для отображения загрузчиков. У меня есть компонент счетчика и сервис счетчика, имеющий генератор событий spinnerEvent$ Angular4. Вот мой конструктор компонентов.

constructor(
    private spinnerService: SpinnerService
) {
    this.subscription = spinnerService.spinnerEvent$.subscribe((spinnerEvent: any) => this.updateSpinnerState(spinnerEvent));
    console.log(this.subscription);
}

Для углового применения используется ленивая загрузка. Проблема состоит в том, что я хочу добавить этот компонент в app.component.html под маршрутизатором, но при этом мой метод подписки никогда не срабатывает. Подписка отображается так, как указано в моих журналах. Когда я размещаю тот же компонент на дочерних модулях, подписка начинает работать. И компонент spinner, и служба spinner находятся в общем модуле, который был внедрен в app.module.ts. Я не уверен, что вызывает эту разницу в поведении подписки.

1 ответ

Решение

Эта проблема была исправлена, когда я переместил свой компонент и сервис Spinner из общего модуля и определил его в app.module. В настоящее время пытаюсь понять, почему, поскольку мой app.module ранее импортировал компонент из общего модуля.

Другие вопросы по тегам