如何在Angular 2中获取当前模块的元数据?

前端之家收集整理的这篇文章主要介绍了如何在Angular 2中获取当前模块的元数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想获取当前NgModule的元数据,以获取声明和提供程序列表,以便填充我创建的动态模块,以显示模态中的组件.

怎么办?

解决方法

您可以使用 reflect-metadata程序包访问声明.但是,您需要安装此软件包并将其包含在项目中.之后你可以得到这样的注释:

let annotations: DecoratorFactory[] = Reflect.getMetadata('annotations',ModuleClass);

如果@NgModule是那里唯一的注释,我猜它是,你可以访问这样的声明,否则你必须猜测正确的索引:

let declarations: any[] = annotations[0].declarations;

有关进一步的参考,请参见answer

猜你在找的Angularjs相关文章