我有这个代码(角2镖):
@Component(
selector: 'alert',
events: const ['close'])
@View(
templateUrl: 'alert.html')
class Alert implements OnInit{
String type = 'warning';
EventEmitter close = new EventEmitter();
}
如何确定用户是否实现了(close)
属性:
<alert (close)="closeAlert($event)">Alert!</alert>
或者查看用户是否未指定参数?我无法检查close
是否为空。因为这不是callback
,而是EventEmitter
对象。
答案 0 :(得分:2)
close
属性不一定是EventEmitter
。您可以创建StreamController
并将其流发布为close
。 StreamController
具有onListen
属性,当客户端连接到控制器时会通知您,并且知道用户是否正在侦听流。完全依赖(close)
属性并不十分可靠,因为您的组件可以从Angular模板以及编程方式使用。
请参阅:https://api.dartlang.org/1.12.1/dart-async/StreamController/onListen.html