Angular2 + 데이터 흐름 :
Angular에서 데이터는 다음과 같은 방식으로 모델 (컴포넌트 클래스 ts.file)과 뷰 (컴포넌트의 html)간에 흐를 수 있습니다.
- 모델에서보기로.
- 보기에서 모델로.
- 데이터는 양방향 데이터 바인딩 이라고도하는 양방향으로 흐릅니다 .
통사론:
볼 모델 :
<input type="text" [ngModel]="overRideRate">
이 구문은 속성 바인딩 이라고도 합니다 . 이제 overRideRate
입력 필드 의 속성이 변경되면 뷰가 자동으로 업데이트됩니다. 그러나 사용자가 숫자를 입력 할 때보기가 업데이트되면 overRideRate
속성이 업데이트되지 않습니다.
모델보기 :
(input)="change($event)" // calling a method called change from the component class
(input)="overRideRate=$event.target.value" // on input save the new value in the title property
여기서 일어나는 일은 이벤트가 트리거되는 것입니다 (이 경우 입력 이벤트이지만 모든 이벤트 일 수 있음). 그런 다음 구성 요소 클래스의 메서드를 호출하거나 속성을 클래스 속성에 직접 저장할 수 있습니다.
양방향 데이터 바인딩 :
<input [(ngModel)]="overRideRate" type="text" >
다음 구문은 양방향 데이터 바인딩에 사용됩니다. 기본적으로 두 가지 모두에 대한 구문 설탕입니다.
- 보기에 바인딩 모델.
- 보기를 모델에 바인딩
이제 클래스 내에서 무언가 변경되면 뷰 (모델에서 뷰로)를 반영하고 사용자가 입력을 변경할 때마다 모델이 업데이트됩니다 (뷰에서 모델로).
[ngModel]
-속성 바인딩 전용이며 양방향 바인딩이 아닙니다. 따라서 새 값을 입력해도 업데이트되지 않습니다overRideRate
.