Угловое растрескивание дерева исключает компонент из удаления

Я разрабатываю приложение Angular 2 с Angular-Cli

angular 2   - 2.1.1
angular-cli - 1.0.0-beta.18

Одна из функций приложения заключается в том, что в нем перечислены все события, а при нажатии на одно событие отображаются сведения о событии на 3 вкладках - Обзор, Фотографии и билеты

Я разработал это так, что все события, хранящиеся в моей БД, а также содержимое вкладок "Обзор", "Фотографии" и "Билеты" находятся в БД. Таким образом, у меня может быть только один компонент, который отображает 3 вкладки и заполняет содержимое каждой вкладки, извлекаемое из БД. Теперь интересным моментом является то, что большинство событий будут иметь одинаковую разметку и разделы, но для некоторых может потребоваться разная разметка. Поэтому, чтобы решить эту проблему, я делаю вместе с содержимым каждой из двух вкладок (обзор, фотографии, тикеты) и название компонента, который будет отображать это событие.

Мне каким-то образом удалось получить компонент от имени компонента, используя ComponentFactoryResolver а также ViewContainerRef и все работает нормально, но проблема возникает, когда я пытаюсь сделать сборку для производственной среды, где angular-cli запускает пошатывание дерева, и с этим все мои компоненты, которые на самом деле не ссылаются / не импортируются в код, но динамически создаются / отображаются на основе данных, полученных из базы данных, удаляются, и мое приложение падает, так как оно не может найти эти компоненты.

Так что мой вопрос

  1. Есть ли способ исключить удаление / удаление определенных компонентов во время встряхивания дерева? а. Если ДА, то как?
    б. Если НЕТ, то какова альтернатива?

1 ответ

Добавьте эти компоненты в

@NgModule({
  entryComponents: [...],
  ...
})

https://angular.io/docs/ts/latest/api/core/index/NgModule-interface.html

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