Angular-cli 中的事件发射器与输出装饰器之间的区别



为什么事件发射器输出装饰器需要一起使用?我看不出两者之间的区别,

如果它们需要一起使用,为什么不只使用一个装饰器来发出并绑定到选择器!

感谢任何解释!

谢谢

EventEmitter只是一个Subject

@Output()是将字段标记为 Angular 事件绑定的输出。

我没有在 Angular TS 中尝试过,但在 Angular Dart 中,可以只使用 Stream(相当于 Subject )而不是 EventEmitter 。在最近的版本中,EventEmitter在Dart Angular中被完全删除。也许这也适用于 Angular TS。

有计划以可能与Subject不兼容的方式扩展EventEmitter的API,因此创建了一个自定义类。
但没有迹象表明这实际上会发生。

EventEmitter 允许您创建自定义事件,从此事件发出并订阅此事件,对其进行响应。

@Output() 允许您将这些事件传播到父组件:

孩子。组件.ts

  @Output() myEvent: EventEmitter<string> = new EventEmitter<string>();

parent.component.ts

<app-child-component (myEvent)="reactToChildEvent($event)"></app-child-component>

编辑:

您可以单独使用 EventEmitter,无需@Ouput() ,从服务向所有订阅的组件或在同一组件内发出。

相关内容

  • 没有找到相关文章

最新更新