Угловое растрескивание дерева исключает компонент из удаления
Я разрабатываю приложение Angular 2 с Angular-Cli
angular 2 - 2.1.1
angular-cli - 1.0.0-beta.18
Одна из функций приложения заключается в том, что в нем перечислены все события, а при нажатии на одно событие отображаются сведения о событии на 3 вкладках - Обзор, Фотографии и билеты
Я разработал это так, что все события, хранящиеся в моей БД, а также содержимое вкладок "Обзор", "Фотографии" и "Билеты" находятся в БД. Таким образом, у меня может быть только один компонент, который отображает 3 вкладки и заполняет содержимое каждой вкладки, извлекаемое из БД. Теперь интересным моментом является то, что большинство событий будут иметь одинаковую разметку и разделы, но для некоторых может потребоваться разная разметка. Поэтому, чтобы решить эту проблему, я делаю вместе с содержимым каждой из двух вкладок (обзор, фотографии, тикеты) и название компонента, который будет отображать это событие.
Мне каким-то образом удалось получить компонент от имени компонента, используя ComponentFactoryResolver
а также ViewContainerRef
и все работает нормально, но проблема возникает, когда я пытаюсь сделать сборку для производственной среды, где angular-cli
запускает пошатывание дерева, и с этим все мои компоненты, которые на самом деле не ссылаются / не импортируются в код, но динамически создаются / отображаются на основе данных, полученных из базы данных, удаляются, и мое приложение падает, так как оно не может найти эти компоненты.
Так что мой вопрос
- Есть ли способ исключить удаление / удаление определенных компонентов во время встряхивания дерева? а. Если ДА, то как?
б. Если НЕТ, то какова альтернатива?
1 ответ
Добавьте эти компоненты в
@NgModule({
entryComponents: [...],
...
})
https://angular.io/docs/ts/latest/api/core/index/NgModule-interface.html