dart - 如何查明 Angular 2中的事件是否被实现?

标签 dart angular

我有这个代码(Angular 2 dart):

@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对象。

最佳答案

close 属性不必是 EventEmitter。您可以创建一个 StreamController 并将其流发布为 close。 StreamController 具有 onListen 属性,当客户端连接到 Controller 时,该属性会通知您,这样您就知道用户正在监听流。仅仅依赖 (close) 属性并不是很可靠,因为您的组件可以通过 Angular 模板以及以编程方式使用。

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

关于dart - 如何查明 Angular 2中的事件是否被实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749486/

相关文章:

flutter - 使用Flutter/Dart如何查询未构建窗口小部件的数据?

firebase - Flutter 中的 cloud_firestore 和 firebase_auth 兼容性问题

Flutter:页面重建不合逻辑

sqlite - Flutter Sqflite 多表模型

flutter - 收集用户输入数据- flutter

node.js - DynamoDB Datamapper 错误抛出项目不遵守 DynamoDBTable 协议(protocol)

javascript - 在 Angular 9 中创建具有动态 styleUrls 的组件

angular - 编译入口点@angular/material/select 失败

javascript - 从 Javascript/typescript 对象的非空属性创建一个数组

angular - 如何在使用 Ionic、Capacitor 和 Angular 开发的应用程序中取消一个本地通知?