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