dart - Dart Angular 2注解如何工作?

标签 dart metadata angular

我目前正在使用Angular 2的Dart版本。

我已经看到该库正在使用很多元数据作为@Component例如。

我想知道这些指令如何工作?

我继续http://www.darlang.org。他们解释了如何定义注释,而不是像在angular.io中那样使用注释来构造对象。

有人可以解释魔术是如何工作的吗?

最佳答案

在Dart中,注解本身不执行任何操作,只是添加注解的代码元素旁边不存在。

在运行时:

您可以使用dart:mirrors在导入的库中查询这些注释的元素,例如字段,函数,类,参数等。
不建议将dart:mirrors用于浏览器应用程序。在这种情况下,您可以使用功能非常相似的reflectable软件包。

也可以看看:

  • https://www.dartlang.org/articles/reflection-with-mirrors/
  • https://api.dartlang.org/1.14.1/dart-mirrors/dart-mirrors-library.html
  • https://stackoverflow.com/search?q=%5Bdart-mirrors%5D+annotations

  • 在构建时

    您可以创建一个转换器并将其注册到pubspec.yaml中,以便由pub servepub build运行。
    在这种情况下,可以使用Dart分析器查询源文件中的注释,并且像Angular一样,在构建步骤中修改源代码以添加/替换/删除任意代码。

    有关变压器的更多详细信息
    -https://www.dartlang.org/tools/pub/assets-and-transformers.html
    -https://www.dartlang.org/tools/pub/transformers/
    -https://www.dartlang.org/tools/pub/transformers/examples/
    -https://www.dartlang.org/tools/pub/transformers/aggregate.html
    -https://pub.dartlang.org/packages/code_transformers

    关于dart - Dart Angular 2注解如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208368/

    相关文章:

    dart - 如何在 dart 中控制弹出窗口

    flutter - 将项目迁移到Gradle?

    dart - 如何在Redstone中将HTTP请求重定向到https?

    python - 如何从sqlalchemy中的方言特定类型获取通用数据类型?

    angular - 删除 dcl-wapper angular2 中扭曲的动态组件

    javascript - Angular2 - 没有 'new' 就无法调用类构造函数

    flutter - 类型 'Null' 不是类型转换中类型 'String' 的子类型 - Flutter

    java - Java 的反射如何影响其内存占用?

    c# - 在 .NET 中提取有关 PNG 的图像信息

    javascript - Angular 4. 意外的 token 导出