Компоненты¶
Одним из ключевых элементов приложения являются компоненты. Компонент управляет отображением представления на экране.
Так, при создании первого приложения в прошлой главе был определен следующий компонент:
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 |
|
То именно этот элемент будет использоваться для рендеринга представления компонента.