Angular2 динамически загружает шаблон
Я начал изучать использование Angular2 и один из вопросов, которые у меня были, но я не могу найти решение. У меня есть требование, что в зависимости от данных, которые я получаю от моей модели, я хочу загрузить различные шаблоны для данного компонента. В основном это связано с поддержкой разных макетов в зависимости от данных, которые я получаю. Это возможно?
Спасибо
2 ответа
Angular 2 поддерживает компонентный подход к построению пользовательского интерфейса. Из-за этого вам не следует создавать огромные шаблоны, и в этом случае, возможно, лучше разбить их на несколько вспомогательных подкомпонентов (даже если они предоставляют только макет).
В тех случаях, когда шаблон не очень большой, вы можете условно визуализировать на основе свойства какого-либо компонента с помощью *ngIf
директивы.
Другим способом решения этой проблемы является реализация маршрутов на уровне этого компонента, а затем программная маршрутизация к этим маршрутам после получения данных с помощью router.navigate(['./MySubcomponent'])
Допустим, есть основной компонент, где вы получаете данные. На основе данных вы можете выбрать, какой подкомпонент использовать. В каждом подкомпоненте вы можете определить шаблон для конкретных данных.
Если данных мало, вы можете переключаться между html, используя *ngSwith или *ngIf в шаблоне вашего основного компонента.