TypeError: Невозможно прочитать свойство 'mpcmp' из неопределенного при открытии диалога в эффектах ngrx - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь открыть диалог, используя эффекты ngrx. Если я открываю тот же диалог в компоненте, он работает нормально, но когда я открываю в эффектах, это дает мне следующую ошибку. Я использую Angular версия 9.0.6 введите описание изображения здесь

openDialog$ = createEffect(
() =>
  this.actions$.pipe(
    ofType(openDialogAction),
    exhaustMap((payload) => {
      let dialogWidth = "auto";
      let dialogHeight = "auto";

      if (payload !== undefined && payload.width !== undefined) {
        dialogWidth = payload.width;
      }

      if (payload !== undefined && payload.height !== undefined) {
        dialogHeight = payload.height;
      }

      return of(
        this.dialog.open(payload.component, {
          data: payload.data,
          disableClose: true,
          height: dialogHeight,
          maxHeight: "95vh",
          panelClass: "main-mat-dialog-container",
          width: dialogWidth,
        })
      );
    })
  ),
{ dispatch: false }

); Я импортировал этот модуль в app.module.ts тот же код для открытия диалога работает нормально, если я звоню из компонентов store.module.ts

import { environment } from "src/environments/environment";
import { NgModule } from "@angular/core";
import {
  MinimalRouterStateSerializer,
  RouterState,
  StoreRouterConnectingModule
} from "@ngrx/router-store";
import { StoreModule } from "@ngrx/store";
import { StoreDevtoolsModule } from "@ngrx/store-devtools";

import { appReducers, metaReducers } from "./";
import { initialState } from "./state/app.state";
import { DialogEffects } from "./effects/dialog.effects";
import { EffectsModule } from "@ngrx/effects";

@NgModule({
  imports: [
    StoreModule.forRoot(appReducers, {
      initialState,
      metaReducers,
      runtimeChecks: {
        strictActionImmutability: true,
        strictActionSerializability: false,
        strictStateImmutability: true,
        strictStateSerializability: false
      }
    }),
    StoreDevtoolsModule.instrument({
      logOnly: environment.production,
      maxAge: 25
    }),
    EffectsModule.forRoot([DialogEffects]),
    StoreRouterConnectingModule.forRoot({
      routerState: RouterState.Minimal,
      serializer: MinimalRouterStateSerializer,
      stateKey: "router"
    })
  ]
})
export class AppStoreModule {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...