我想知道以下创建 的方式有什么区别EventEmitter
,哪个更好。
@Output
balanceDueLoader = new EventEmitter<boolean>();
@Output
balanceDueLoader = new EventEmitter<boolean>(false);
@Output()
balanceDueLoader: EventEmitter<boolean> = new EventEmitter<boolean>();
我想知道以下创建 的方式有什么区别EventEmitter
,哪个更好。
@Output
balanceDueLoader = new EventEmitter<boolean>();
@Output
balanceDueLoader = new EventEmitter<boolean>(false);
@Output()
balanceDueLoader: EventEmitter<boolean> = new EventEmitter<boolean>();
编辑:在此处复制我的评论:不同之处仅在于您编写了更多代码。除此之外没有区别。
原答案:当你声明一个带有初始值的属性时,一般不需要指定类型。类型是根据初始值猜测的。所以你不需要第三个。构造函数 EventEmitter 有一个默认值为 false 的参数,因此如果您使用默认值,则无需传递该参数。所以选择第一个选项。它需要编写的代码更少
@Output balanceDueLoader = new EventEmitter();
@Output balanceDueLoader = new EventEmitter(false);
@Output() balanceDueLoader: EventEmitter = new EventEmitter();
其实没有区别
第一个和第二个完全相同,因为默认情况下该值为 false。如果您将 true 传递给使事件异步的事件发射器,则会有所不同。默认情况下它是同步的。
第三个的唯一区别是您为其分配了一个类型,该类型将允许您理想的代码完成。
https://netbasal.com/event-emitters-in-angular-13e84ee8d28c 在这里查看有关事件发射器的更多详细信息