Angular 구성 요소는 Angular 애플리케이션의 기초로서 사용자 인터페이스의 재사용 가능한 모듈식 부분을 구축하는 방법을 제공합니다. 이 가이드에서는 구조부터 모범 사례까지 Angular 구성 요소의 기본 사항을 다룹니다. Angular를 처음 접하는 사람이든 복습하려는 사람이든 이 기사를 통해 Angular의 구성 요소에 대한 기본적인 이해를 얻을 수 있습니다.
Angular에서 컴포넌트는 사용자 인터페이스(UI)의 일부를 제어하는 클래스입니다. 버튼, 탭, 입력, 양식 및 서랍(실제로는 UI의 일부)을 생각해 보세요. 각 구성 요소는 다음과 같이 독립적으로 구성됩니다.
각 구성 요소는 헤더, 사이드바, 카드 등 페이지의 특정 부분을 나타낼 수 있으므로 모듈식 애플리케이션을 만드는 데 필수적입니다.
Angular 구성 요소는 필요한 템플릿, 스타일 및 선택기로 구성하는 @Component 데코레이터를 사용하여 정의됩니다. 기본적인 예는 다음과 같습니다.
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
이 예에서는:
Angular 프로젝트는 일반적으로 Angular CLI를 사용할 때 자동으로 생성되는 구성 요소와 관련 파일을 하나의 폴더에 구성합니다. 구성 요소의 일반적인 폴더 구조는 다음과 같습니다.
Angular 구성 요소에는 개발자가 다양한 단계에서 작업을 수행할 수 있는 후크가 있는 수명 주기가 있습니다. 일반적으로 사용되는 수명 주기 후크는 다음과 같습니다.
예를 들어 ngOnInit이 사용되는 방법은 다음과 같습니다.
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
수명 주기 후크는 유연성을 제공하므로 구성 요소 수명 주기의 특정 단계에서 로직을 쉽게 관리할 수 있습니다.
실제 애플리케이션에서 구성 요소는 데이터를 공유하거나 작업을 트리거하기 위해 서로 상호 작용해야 하는 경우가 많습니다. Angular는 컴포넌트 통신을 위한 여러 가지 방법을 제공합니다.
예:
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-lifecycle', template: '<p>Lifecycle example</p>', }) export class LifecycleComponent implements OnInit { ngOnInit() { console.log('Component initialized!'); } }
// child.component.ts import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'app-child', template: `<button (click)="sendMessage()">Send Message</button>`, }) export class ChildComponent { @Input() childMessage: string; @Output() messageEvent = new EventEmitter<string>(); sendMessage() { this.messageEvent.emit('Message from child!'); } }
구성 요소가 상위-하위 관계에 있지 않은 경우 Angular 서비스는 데이터와 로직을 공유하는 간단한 방법을 제공합니다. 서비스는 기본적으로 싱글톤입니다. 즉, 앱 전체에 하나의 인스턴스만 존재합니다.
<!-- parent.component.html --> <app-child [childMessage]="parentMessage" (messageEvent)="receiveMessage($event)"></app-child>
다양한 구성 요소에서 서비스 사용:
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class SharedService { private messageSource = new BehaviorSubject<string>('Default Message'); currentMessage = this.messageSource.asObservable(); changeMessage(message: string) { this.messageSource.next(message); } }
// component-one.ts import { Component } from '@angular/core'; import { SharedService } from '../shared.service'; @Component({ selector: 'app-component-one', template: `<button (click)="changeMessage()">Change Message</button>`, }) export class ComponentOne { constructor(private sharedService: SharedService) {} changeMessage() { this.sharedService.changeMessage('Hello from Component One'); } }
Angular 구성 요소는 확장 가능한 모듈식 애플리케이션 구축의 핵심입니다. 구조, 수명 주기 및 통신 방법을 이해함으로써 이해하기 쉽고 구축하기 쉬운 효율적이고 유지 관리 가능한 애플리케이션을 만들 수 있습니다.
다음 기사에서는 Angular 구성 요소 수명 주기에 대해 더 자세히 알아보고 각 후크를 살펴보고 구성 요소를 효과적으로 관리하는 데 사용할 수 있는 방법을 살펴보겠습니다. Angular의 강력한 수명 주기 기능에 대해 더 자세히 알아보세요!
위 내용은 Angular의 구성 요소를 이해하기 위한 기본 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!