Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度及;NgRX-从效果文件向组件发送反馈_Angular_Ngrx - Fatal编程技术网

Angular 角度及;NgRX-从效果文件向组件发送反馈

Angular 角度及;NgRX-从效果文件向组件发送反馈,angular,ngrx,Angular,Ngrx,我有一个带有HTML表单的组件,我正在填充它,然后通过效果文件(和服务)将数据发送到后端。我需要的是在效果文件完成其部分后调用组件内部的另一个函数。我不需要在减速机中保存任何东西-我只需要知道effect函数(和服务)是否成功完成了它们的工作 在我看来,实现这一点的唯一方法是将该布尔值(或任何类型)保存到reducer,以便组件将其注册并立即返回默认值 所以,在我的效果文件中,我会这样做: this.store.dispatch(new CreationSuccessful(true)); se

我有一个带有HTML表单的组件,我正在填充它,然后通过效果文件(和服务)将数据发送到后端。我需要的是在效果文件完成其部分后调用组件内部的另一个函数。我不需要在减速机中保存任何东西-我只需要知道effect函数(和服务)是否成功完成了它们的工作

在我看来,实现这一点的唯一方法是将该布尔值(或任何类型)保存到reducer,以便组件将其注册并立即返回默认值

所以,在我的效果文件中,我会这样做:

this.store.dispatch(new CreationSuccessful(true));
setTimeout(() => this.store.dispatch(new CreationSuccessful(false)), 200);
在组件中,我会注册这个被激发的真值,这足以调用我需要调用的东西


是否有其他方法可以避免使用减速机?

就像在特效类中一样,您可以通过组件中的
操作
主题收听操作

因此,当效果分派一个动作时,您可以在组件中“捕获”它


有关更多信息,请参阅。

我想不出任何不需要减速器的地方。