我想获取当前NgModule的元数据,以获取声明和提供程序列表,以便填充我创建的动态模块,以显示模态中的组件.
怎么办?
最佳答案 您可以使用
reflect-metadata
程序包访问声明.但是,您需要安装此软件包并将其包含在项目中.之后你可以得到这样的注释:
let annotations: DecoratorFactory[] = Reflect.getMetadata('annotations', ModuleClass);
如果@NgModule是那里唯一的注释,我猜它是,你可以访问这样的声明,否则你必须猜测正确的索引:
let declarations: any[] = annotations[0].declarations;
有关进一步的参考,请参见answer