Angular NgRX - 没有从调度的动作中调用效果
Angular NgRX - effect is not being called from dispatched action
关于这个的帖子很多,但我看不出我的简单案例有什么问题(我是 NgRx 的菜鸟,所以可能是一个简单的错误)
我一直在尽可能地组合一个简单的示例来帮助解决我遇到的另一个问题,但我无法让我的示例正常工作,而且我看不出这里有什么问题。
例子是here.
当您单击“开始轮询”按钮时,将调度操作 startPolling
,但效果在 app.effects.ts
...
public startPolling$ = createEffect(() => this.actions$.pipe(
ofType(appActions.startPolling),
tap(_ => console.log('app effect started polling')),
tap(() => this.isPollingActive = true),
mergeMap(() =>
this.appDataSurvice.getData()
.pipe(
switchMap(data => {
return [appActions.getDataSuccess(data)
];
}),
catchError(err => of(appActions.getDataFail(err)))
))
));
只是没有被调用,即我从未看到 app effect started polling
控制台日志。
谁能看出我可能遗漏了什么?
提前致谢
找到我的问题...
在app.module.ts
中忘记了EffectsModule.forRoot([AppEffects])
关于这个的帖子很多,但我看不出我的简单案例有什么问题(我是 NgRx 的菜鸟,所以可能是一个简单的错误)
我一直在尽可能地组合一个简单的示例来帮助解决我遇到的另一个问题,但我无法让我的示例正常工作,而且我看不出这里有什么问题。
例子是here.
当您单击“开始轮询”按钮时,将调度操作 startPolling
,但效果在 app.effects.ts
...
public startPolling$ = createEffect(() => this.actions$.pipe(
ofType(appActions.startPolling),
tap(_ => console.log('app effect started polling')),
tap(() => this.isPollingActive = true),
mergeMap(() =>
this.appDataSurvice.getData()
.pipe(
switchMap(data => {
return [appActions.getDataSuccess(data)
];
}),
catchError(err => of(appActions.getDataFail(err)))
))
));
只是没有被调用,即我从未看到 app effect started polling
控制台日志。
谁能看出我可能遗漏了什么?
提前致谢
找到我的问题...
在app.module.ts
中忘记了EffectsModule.forRoot([AppEffects])