Вызов дочернего компонента во время выполнения: фабрика компонентов VS ngSwitchCase в шаблоне

В настоящее время я создаю общий компонент master-detail, в котором есть компонент ChildContainer, отвечающий за рендеринг компонента detail. Компонент master-detail получает тип объекта, который должен отображаться через @Input или через маршрутизацию URL. DetailContainerComponent получает его от MasterDetailComponent (через @Input) и отображает соответствующий подробный компонент. Я реализовал это поведение двумя различными способами, и я не уверен, какой метод предпочтительнее:

1) Использование шаблонной директивы ngSwitchCase:

<ng-container [ngSwitch]="entityType">
      <detail-type1 *ngSwitchCase="'EntityType1'"></ detail-type1 >
      <detail-type2 *ngSwitchCase="'EntityType2'"></ detail-type2 >
      <p *ngSwitchDefault>No detail component found</p>
</ng-container>

2) Использование фабрики компонентов (Viewchild и ViewContainerRef) - конкретный экземпляр будет создан с использованием фабрики, принимающей EntityType в качестве параметра

Какой метод вы бы порекомендовали и почему?

0 ответов

Другие вопросы по тегам