... visits
이 글은 ‘ 앵귤러 첫걸음 (저자: 조우진)’ 책을 읽고, 초반 부분만 정리한 내용입니다.
개인적으로 앵귤러로 개발하면서 굉장히 도움을 많이 받은 책입니다. 하지만 앵귤러를 처음 시작하는 분들께서는 살짝 어렵게 느껴질 수 있을것 같습니다.
그래도 저는 이 책을 통해서 첫걸음보다는 두걸음 이상 걷게 되었다고 생각합니다.
직접은 아니지만 이렇게라도 저자께 감사하다는 말씀 드리고 싶습니다.
타입스크립트
d.ts
앵귤러 설치
$ npm install @angular/cli -g
프로젝트 시작
$ ng new hello-angular
AppModule
클래스로 정의한다.{{useName}}
같은 마크업으로 값을 출력<button type="button" [disabled]="langCode === 'ko'">한국어</button>
<img [src]='someImageUrl' width='128'>
<img [src]='{{someImageUrl}}' width='128'>
<button type="button" (click)="setLangCode('ko')">한국어</button>
<div (mousemove)="printPosition($event)"></div>
<input type="text" (keyup)="myStr = $event.target.value" />
[(ngModel)]
과 함께 바인딩할 대상을 선언NgModel
지시자를 사용하기 위해서는 FormsModule
을 Import<input type="text" [(ngModel)]="myData" />
<select [(ngModel)]="mySelection">
<option value="A">A value</option>
</select>
ngModelChange
이벤트를 이벤트 바인딩 방식으로 메서드를 지정할 수 있음import { I18nSupportService } from '../i18n-support.service';
construct(public i18nSupporter: I18nSupportService) {}
injectable
이라는 데코레이터를 붙이는 것을 권장Inject
는 주입할 대상의 정보를 선언할 때 사용Inject
를 붙일 필요가 없음import { Injectable, Inject } from '@angular/core';
@Injectable()
export class MySpecialLoggerService {
constructor(@Inject('logLevel') logLevel: LogLevel) {
this.logLevel = logLevel;
}
}
I18nSupportService
를 new I18nSupportService()
자동 생성 해준다.I18nSupportService
클래스(샘플)를 주입받기 위한 설정이 필요한데 의존성으로 주입할 것이라는 정보를 앵귤러 모듈에 선언한다.@NgModule
데코레이터에 providers
값으로 배열에 담은 서비스 클래스들을 전달한다.@NgModule({
declarations: [...],
imports: [...],
providers: [MySpecialLoggerService, {provide: 'logLevel', useValue: Loglevel.INFO}],
bootstrap: [AppComponent]
})
export interface Component extends Directive