ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 02 템플릿 구분 02
    앵귤러/03 템플릿&데이터 바인딩 2017. 8. 19. 10:56

    템플릿 명령문

    템플릿 명령문은 엘리먼트, 컴포넌트 또는 디렉티브와 같은 바인딩 대상에서 발생하는 이벤트에 응답합니다. = 기호의 오른쪽에 따옴표로 묶여있는 (event) = "statement"와 같이 이벤트 바인딩 섹션에 템플릿 명령문이 표시됩니다.

    src/app/app.component.html

    <button (click)="deleteHero()">Delete hero</button>

    템플릿 명령문은 또다른 측면을 가지고 있습니다. 그것은 사용자 동작에서 응용프로그램 상태를 업데이트하는 방법입니다.

    이벤트에 응답하는 것은 Angular "단방향 데이터 흐름"의 또 다른 측면입니다. 이번 이벤트 루프가 진행되는 동안 어디에서든지 자유롭게 변경할 수 있습니다.

    템플릿 표현식과 마찬가지로 템플릿 명령문은 자바 스크립트처럼 보이는 언어를 사용합니다. 템플릿 명령문 구문 분석기는 템플리트 표현식 구문 분석기와 다르고 특별히 기본 지정 (=)과 연쇄 표현식 (;또는,)을 모두 지원합니다.

    그러나 특정 JavaScript 구문은 허용되지 않습니다.

    l  new

    l  증가 및 감소 연산자, ++ --

    l  + = - =과 같은 연산자 할당

    l  비트 연산자 | &

    l  템플릿 표현 연산자

     

    명령문 컨텍스트

    표현식과 마찬가지로 명령문은 컴포넌트 인스턴스의 이벤트 처리 메소드와 같은 명령문 컨텍스트의 내용 만 참조 할 수 있습니다.

    명령문 컨텍스트는 일반적으로 컴포넌트 인스턴스입니다. (click) = "deleteHero ()"내에 deleteHero는 데이터 바인딩 된 컴포넌트의 메서드입니다.

    src/app/app.component.html

    <button (click)="deleteHero()">Delete hero</button>

    명령문 컨텍스트는 템플리트 자체의 컨텍스트의 특성을 참조 할 수도 있습니다. 다음 예제에서 템플릿 $event 객체, 템플릿 입력 변수(let hero) 및 템플릿 참조 변수(#heroForm)는 컴포넌트의 이벤트 처리 메소드에 전달됩니다.

    src/app/app.component.html

    <button (click)="onSave($event)">Save</button>

    <button *ngFor="let hero of heroes" (click)="deleteHero(hero)">{{hero.name}}</button>

    <form #heroForm (ngSubmit)="onSubmit(heroForm)"> ... </form>

    템플릿 컨텍스트 이름은 컴포넌트 컨텍스트 이름보다 우선합니다. 위의 deleteHero(hero)에서 hero는 템플릿의 입력 변수이며 컴포넌트의 hero 속성은 아닙니다.

    템플릿 명령문은 전역 이름 공간의 어떤 것도 참조 할 수 없습니다. 창이나 문서도 참조 할 수 없습니다. console.log 또는 Math.max도 호출 할 수 없습니다.

     

    명령문 지침

    표현식과 마찬가지로 복잡한 템플릿 명령문을 작성하지 마십시오. 메소드 호출 또는 간단한 특성 할당이 표준이어야합니다.

    이제 템플릿 표현식 및 명령문에 대한 이해가 되었다면 보간법 이상의 다양한 데이터 바인딩 구문에 대해 배울 준비가 되었습니다.

    '앵귤러 > 03 템플릿&데이터 바인딩' 카테고리의 다른 글

    02 템플릿 구문 05  (0) 2017.08.19
    02 템플릿 구문 04  (0) 2017.08.19
    02 템플릿 구문 03  (0) 2017.08.19
    02 템플릿 구문 01  (0) 2017.08.19
    01 데이터의 표현  (0) 2017.08.18

    댓글

Designed by Tistory.