⊗jsagPmSvUs 76 of 97 menu

Angular에서 서비스 사용하기

이전 강의에서 우리는 DataService라는 커스텀 서비스를 생성했습니다. 이제 컴포넌트로 가져와 보겠습니다:

import { Component } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { DataService } from './data.service'; // 여기

@Component 데코레이터의 providers 속성에 우리의 서비스를 지정해야 합니다:

@Component({ ..... providers: [ DataService ] // 여기 })

이제 의존성 주입(dependency injection)이라는 특별한 접근 방식을 사용하겠습니다. 그 본질은 컴포넌트 생성자에 서비스를 매개변수로 전달하면 자동으로 컴포넌트의 비공개 속성으로 들어간다는 것입니다. 코드에서 확인하세요:

export class AppComponent { constructor(private dataService: DataService) { // 의존성 주입 console.log(this.dataService); // 서비스가 비공개 속성에 있음 } }

서비스에 대한 의존성 주입이 작동하는 이유는 이전에 Injectable 데코레이터를 적용했기 때문입니다.

이제 컴포넌트 클래스의 생성자에서 해당 메서드를 호출하여 서비스에서 데이터를 가져오겠습니다:

export class AppComponent { public data: string[] = []; constructor(private dataService: DataService) { this.data = this.dataService.getData(); } }

가져온 데이터를 컴포넌트 템플릿에 출력해 보겠습니다:

<ol> <li *ngFor="elem of data"> {{ elem }} </li> </ol>

컴포넌트에서 서비스로부터 상품을 가져와 컴포넌트 템플릿에 출력하세요.

서비스에 새 상품을 추가하는 메서드를 만드세요. 컴포넌트에서 버튼을 만들고, 클릭하면 새 상품이 추가되도록 하세요.

두 개의 입력 필드와 버튼이 있는 폼을 만드세요. 버튼을 누르면 새 상품이 추가되어야 합니다.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부