是否可以在运行时查询以declarations
装饰的模块类的@NgModule
。
@NgModule({
imports: [
...
],
declarations: [
Component1,
Component2,
Component3
]
})
export class MyModule { }
所以,我要完成的工作大致是:
const declarations: Type[] = MyModule.declarations;
答案 0 :(得分:1)
我不确定,但我相信在AOT模式下此答案将无效。除此之外,这是一个私有/顽皮的访问属性,并且可能会更改,但是您可以像这样访问定义:
const descriptor = Reflect.getOwnPropertyDescriptor(MyModule, '__annotations__');
if (descriptor) {
const decorator = descriptor.value && descriptor.value[0];
if (decorator) {
const { declarations } = decorator;
}
}