Меню ×
Создание компонентов в Angular

Создание компонентов в Angular

Компоненты ключевая особенность Angular. Приложение строится из компонентов.

Создание компонента

В директории app создать папку нового компонента и файл (должен содержать .component в имени), например: app/server/server.component.ts

Файл должен наследовать класс ServerComponent и содержать декоратор:

	
import { Component } from '@angular/core';
@Component({
	selector : 'app-server',
	templateUrl : './server.component.html'
})
export class ServerComponent {
}
	

@Component() - это декоратор компонента. Он отмечает, что класс является компонентом angular и содержит мета настройки. В файл app.modules.ts нужно указать новый класс:

	
import { ServerComponent } from './server/server.component'; // <- импортируем новый класс
//...
@NgModule({
declarations: [
  AppComponent,
  ServerComponent  // <- добавили в declarations
],
	

@NgModule() - это декоратор модуля. Он может содержать следующие ключи:

  • declarations — компоненты приложения. Сообщает Ангулару какие компоненты принадлежат данному модулю.
  • imports — импортируемые модули. Здесь содержатся модули без которых данный модуль не может работать.
  • providers — сервис провайдеры. Список сервисов, которые будут доступны во всем приложении.
  • bootstrap — корневой компонент, который Ангулар создает и вставляет в index.html главной страницы.

Модули используются для организации приложения и расширения возможностей из подключаемых библиотек.

Шаблон

Создадим шаблон компонента app/server/server.component.html

Создадим демо данные в шаблоне:

	
<h3>I'am server component</h3>
	

Теперь можно подключить компонент в шаблоне приложения, в файле app.component.html:

	
<app-server></app-server>
	

Создание компонента в Angular CLI и вложенные компоненты

Синтаксис:

ng generate component #name#

или сокращенный вариант: ng g c #name#

опции (не создавать файл тестов): ng g c recipes --spec false

создать компонент в определенной папке: ng g c recipes/recipe-list

Пример использования

Запустим команды: сперва создадим компонент ng g c servers, затем ng g c server

После выполнения данной команды сгенерируется компонент servers и server.

Теперь в шаблоне приложения app.component.html подключим компонент servers:

	
<h3>I'am in the AppComponent!
<hr>
<app-servers></app-servers>
	

А в шаблоне компонента servers app\servers\servers.component.html подключим 2 компонента server:

	
<app-server></app-server>
<app-server></app-server>
	

Компоненты могут быть вложены друг в друга. Это помогает создать удобную структуру проекта:

Вложенные компоненты

Похожие материалы

JavaScript операторы, которые важно знать для работы с Angular

Стилилизация компонента в Angular, способы определения стилей, подключени внешнего файла стилей, вынесение кода шаблона во внешний файл html

Использование тега ng-content и размещения верстки из шаблона в теге вызова компонента в Angular

наверх