объявления метаданных NgModule - PullRequest
0 голосов
/ 25 марта 2019

Возможно ли во время выполнения запроса declarations класса модуля, который украшен @NgModule.

@NgModule({
    imports: [
    ...
    ],
    declarations: [
        Component1,
        Component2,
        Component3
    ]
})
export class MyModule { }

Итак, я пытаюсь достичь примерно:

const declarations: Type[] = MyModule.declarations;

1 Ответ

1 голос
/ 25 марта 2019

Я не совсем уверен, но я верю, что в режиме AOT этот ответ не будет работать. Кроме того, это свойство частного / непослушного доступа, которое может быть изменено, но вы можете получить доступ к определению следующим образом:

const descriptor = Reflect.getOwnPropertyDescriptor(MyModule, '__annotations__');

if (descriptor) {
  const decorator = descriptor.value && descriptor.value[0];

  if (decorator) {
    const { declarations } = decorator; 
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...