Dart Angular 2注释它们如何工作?

时间:2016-02-04 18:06:01

标签: dart metadata angular

我目前正在玩角色2的Dart版本。

我已经看到该库正在使用大量元数据作为@Component

我想知道这些指令是如何运作的?

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

有人可以解释魔法是如何运作的吗?

1 个答案:

答案 0 :(得分:1)

在Dart注释中,除了添加它们的代码元素之外,不要做任何事情。

在运行时:

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

另见:

在构建时

您可以创建变换器并在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