Angular2 динамически загружает шаблон

Я начал изучать использование Angular2 и один из вопросов, которые у меня были, но я не могу найти решение. У меня есть требование, что в зависимости от данных, которые я получаю от моей модели, я хочу загрузить различные шаблоны для данного компонента. В основном это связано с поддержкой разных макетов в зависимости от данных, которые я получаю. Это возможно?

Спасибо

2 ответа

Решение

Angular 2 поддерживает компонентный подход к построению пользовательского интерфейса. Из-за этого вам не следует создавать огромные шаблоны, и в этом случае, возможно, лучше разбить их на несколько вспомогательных подкомпонентов (даже если они предоставляют только макет).

В тех случаях, когда шаблон не очень большой, вы можете условно визуализировать на основе свойства какого-либо компонента с помощью *ngIf директивы.

Другим способом решения этой проблемы является реализация маршрутов на уровне этого компонента, а затем программная маршрутизация к этим маршрутам после получения данных с помощью router.navigate(['./MySubcomponent'])

Допустим, есть основной компонент, где вы получаете данные. На основе данных вы можете выбрать, какой подкомпонент использовать. В каждом подкомпоненте вы можете определить шаблон для конкретных данных.

Если данных мало, вы можете переключаться между html, используя *ngSwith или *ngIf в шаблоне вашего основного компонента.

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