Вызов дочернего компонента во время выполнения: фабрика компонентов 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 в качестве параметра
Какой метод вы бы порекомендовали и почему?