Я пытаюсь открыть диалог, используя эффекты 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 {}