Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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 EventEmitter:如何将结果从事件处理程序发送回“主机”组件_Angular - Fatal编程技术网

Angular EventEmitter:如何将结果从事件处理程序发送回“主机”组件

Angular EventEmitter:如何将结果从事件处理程序发送回“主机”组件,angular,Angular,我有一个带有@Output参数的子组件: @Output updateThis: EventEmitter<any> = new EventEmitter<any>; 我有一个处理事件的父组件。然后调用一个服务来更新对象: <my-component (updateThis)="onUpdateThis($event)" /> 这是我的问题。在父组件尝试修改对象之后,我需要通知子组件它是否可以更新它,即服务是否抛出错误 我如何将结果发回子组件?一个想法是向

我有一个带有@Output参数的子组件:

@Output updateThis: EventEmitter<any> = new EventEmitter<any>;
我有一个处理事件的父组件。然后调用一个服务来更新对象:

<my-component (updateThis)="onUpdateThis($event)" />
这是我的问题。在父组件尝试修改对象之后,我需要通知子组件它是否可以更新它,即服务是否抛出错误


我如何将结果发回子组件?一个想法是向myObject添加一个新属性,即hasUpdateError。但是还有其他方法吗?例如,我已经看到EventEmitter有一个subscribe方法,但我不知道在这种情况下如何使用它。

共享服务可能很好,可能有可观察的对象。因此,当父组件从子组件接收事件时,您可以使用一个公共集合方法来更改Subject的状态。子组件将订阅该主体的可观察对象以获得新状态

这里解释得很好。同样的逻辑可以应用于任何组件,而不仅仅是子-父组件

<my-component (updateThis)="onUpdateThis($event)" />