Компоненты¶
Одним из ключевых элементов приложения являются компоненты. Компонент управляет отображением представления на экране.
Так, при создании первого приложения в прошлой главе был определен следующий компонент:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Сам класс компонента здесь относительно небольшой:
1 2 3 | |
Чтобы класс мог использоваться в других модулях, он определяется с ключевым словом export. В самом же классе определена лишь одна переменная, которая в качестве значения хранит некоторую строку.
Для создания компонента необходимо импортировать функцию декоратора @Component из библиотеки @angular/core. Декоратор @Component позволяет идентифицировать класс как компонент.
Если бы мы не применили декоратор @Component к классу AppComponent, то класс AppComponent компонентом бы не считался.
Декоратор @Component в качестве параметра принимает объект с конфигурацией, которая указывает фреймворку, как работать с компонентом и его представлением.
С помощью свойства template шаблон представляет кусок разметки HTML с вкраплениями кода Angular. Фактически шаблон это и есть представление, которое увидит пользователь при работе с приложением.
Каждый компонент должен иметь один шаблон. Однако необязательно определять шаблон напрямую с помощью свойства template. Можно вынести шаблон во внешний файл с разметкой html, а для его подключения использовать свойство templateUrl.
Шаблон может быть однострочным или многострочным. Если шаблон многострочный, то он заключается в косые кавычки (`), которые стоит отличать от стандартных ординарных кавычек (').
Также в примере выше устанавливается свойство selector, которое определяет селектор CSS. В элемент с этим селектором Angular будет добавлять представление компонента. Например, в примере выше селектор имеет значение my-app. Соответственно если html-страница содержит элемент <my-app></my-app>, например:
1 2 3 4 5 6 7 8 9 10 11 12 | |
То именно этот элемент будет использоваться для рендеринга представления компонента.