是否可以在运行时查询用@NgModule
修饰的模块类的declarations
。
@NgModule({
imports: [
...
],
declarations: [
Component1,
Component2,
Component3
]
})
export class MyModule { }
所以,我试图完成的大致是:
const declarations: Type[] = MyModule.declarations;
我不
完全确定,但我相信在 AOT 模式下这个答案是行不通的。除此之外,这是一个私有/顽皮的访问属性,可能会发生变化,但您可以像这样访问定义:
const descriptor = Reflect.getOwnPropertyDescriptor(MyModule, '__annotations__');
if (descriptor) {
const decorator = descriptor.value && descriptor.value[0];
if (decorator) {
const { declarations } = decorator;
}
}