2

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

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

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

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

2 回答 2

4

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

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

于 2018-09-13T21:29:37.123 回答
2

@Output balanceDueLoader = new EventEmitter();

@Output balanceDueLoader = new EventEmitter(false);

@Output() balanceDueLoader: EventEmitter = new EventEmitter();

其实没有区别

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

第三个的唯一区别是您为其分配了一个类型,该类型将允许您理想的代码完成。

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

于 2018-09-14T01:52:19.797 回答