我目前正在使用Angular 2的Dart版本。
我已经看到该库正在使用很多元数据作为@Component
例如。
我想知道这些指令如何工作?
我继续http://www.darlang.org。他们解释了如何定义注释,而不是像在angular.io中那样使用注释来构造对象。
有人可以解释魔术是如何工作的吗?
最佳答案
在Dart中,注解本身不执行任何操作,只是添加注解的代码元素旁边不存在。
在运行时:
您可以使用dart:mirrors
在导入的库中查询这些注释的元素,例如字段,函数,类,参数等。
不建议将dart:mirrors
用于浏览器应用程序。在这种情况下,您可以使用功能非常相似的reflectable软件包。
也可以看看:
在构建时
您可以创建一个转换器并将其注册到
pubspec.yaml
中,以便由pub serve
和pub 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/