Динамический шаблон HTML для компонента Angular 2
Я хотел бы динамически определить шаблон HTML для компонента Angular 2. Это возможно? Как мы можем достичь этой функциональности в Angular?
моя цель состоит в том, чтобы иметь одинаковую кодовую базу / компоненты, но разные HTML на основе какой-либо конфигурации /URL сервера? это возможно?
1 ответ
Если возможно, я бы предложил попробовать другие методы для достижения того, что вы пытаетесь сделать. В моем текущем проекте я делал это изначально, используя compileModuleAndAllComponentsAsync, чтобы по существу построить модуль, компонент, а также скомпилировать и добавить этот модуль во время выполнения в проект, и они вручную внедрили его в текущий компонент на экране, используя ViewRef.
(Более подробную информацию об этом можно найти здесь)
Однако это может быстро выйти из-под контроля.
Это также помешало нам использовать веб-пакет, потому что веб-пакет никак не мог знать, какие шаблоны требовались во время компиляции, и связывать их все с одним компонентом. Это помешало нам использовать Angular CLI, что было плохо.
Вместо всего этого я бы предложил попытаться найти способ сделать это с помощью маршрутизации и маршрутизации к различным компонентам. Это означает, что вам нужен компонент для каждого возможного шаблона.
Вы также можете заглянуть в загрузчик динамических компонентов, так как это поддерживаемая функция Angular 2.