angular - 声明 NgModule 的元数据
问题描述
是否可以在运行时查询declarations
用@NgModule
.
@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;
}
}
推荐阅读
- asp.net-web-api - 如何打开一个新窗口以从 Asp Web API 登录
- javascript - 如何在找到字符串时发出警报
- html - 如何在三列布局中保持可变宽度列居中?
- youtube - 禁用嵌入视频中的 YouTube 链接
- java - 在 Java 中调整 base64 字符串图像的大小
- node.js - How does the Node.JS crypto module produce a key and an initialization vector when the deprecated `crypto.createCipher` function is used?
- java - How to use onDismiss method on the declaration context?
- java - How to skip empty records CSVFormat parser
- python - 如何在熊猫数据框中连接多个文本字段
- powershell - 为 csv 创建条形图