执行 EventEmitter 的不同方法 - Angular

Different ways to do EventEmitter - Angular

我想知道以下创建EventEmitter的方式有什么区别,哪种更好。

@Output
balanceDueLoader = new EventEmitter<boolean>();

@Output
balanceDueLoader = new EventEmitter<boolean>(false);

@Output()
balanceDueLoader: EventEmitter<boolean> = new EventEmitter<boolean>();

编辑:在此处复制我的评论:区别仅在于您编写了更多代码。除此之外没有区别。

原答案:当你声明一个带有初始值的属性时,一般不需要指定类型。类型是根据初始值猜测的。所以你不需要第三个。构造函数EventEmitter有一个默认值为false的参数,所以如果你去使用默认值就不需要传递这个参数了。所以选择第一个选项。编写的代码更少

@输出 balanceDueLoader = new EventEmitter();

@输出 balanceDueLoader = new EventEmitter(false);

@输出() balanceDueLoader: EventEmitter = new EventEmitter();

实际上没有区别

第一个和第二个完全一样,因为默认值为false。如果将 true 传递给使事件异步的事件发射器,将会有所不同。默认是同步的。

第三个中的唯一区别是您为其分配了一个类型,这将使​​您能够理想地完成代码。

https://netbasal.com/event-emitters-in-angular-13e84ee8d28c 在这里查看有关事件发射器的更多详细信息