如何确定角度2中的事件是否已实施?

时间:2015-09-23 21:06:49

标签: dart angular

我有这个代码(角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对象。

1 个答案:

答案 0 :(得分:2)

close属性不一定是EventEmitter。您可以创建StreamController并将其流发布为closeStreamController具有onListen属性,当客户端连接到控制器时会通知您,并且知道用户是否正在侦听流。完全依赖(close)属性并不十分可靠,因为您的组件可以从Angular模板以及编程方式使用。

请参阅:https://api.dartlang.org/1.12.1/dart-async/StreamController/onListen.html