Эффекты Ngrx не работают в предварительно загруженном модуле - PullRequest
1 голос
/ 15 октября 2019

У меня есть два модуля, назовем их EagerModule и PrealodedModule. Оба из них имеют свои собственные функции уменьшения и эффекты.

EagerModule загружен в приложение с нетерпением, что означает его в списке импорта AppModule.

@NgModule({
    imports: [
        // .. other modules
        EagerModule
    ]

PreloadedModule, с другой стороны, загружается лениво, но, поскольку я использую preloadingStrategy: PreloadAllModules, мы можем сказать, что он в основном предварительно загружен (то есть загружается сразу после того, как все активные модулизагружен).

Я пытаюсь отправить действие из PrealoadedModule в компоненте EagerModule. Однако, похоже, что эффекты не инициализируются, поскольку мое действие не выполняет http-запрос, который он должен выполнить. Я попытался взломать это, отправив это действие только после того, как у меня есть значение в селекторе состояний PreloadedModule, однако, это тоже не сработало.

Единственный способ получить эту работу - это загрузитьPreloadedModule нетерпеливо, но это не то, чего я хочу достичь.

Итак, как я могу заставить эффекты из предварительно загруженного модуля работать в другом модуле?

...