Angular NgModel : 모델, ViewModel 및 파이프
2704 단어 angulartypescript
아래 코드는 도시를 선택하기 위해 선택 요소를 사용하고 있습니다. 사용자에게 제공되는 옵션은 주어진 주의 모든 도시 목록입니다.
선택 요소에 대한 바인딩은 다음과 같습니다.
// the ngModel traid for 2 way data binding
#city="ngModel"
[(ngModel)]="address.city"
(ngModelChange)=
"address.city = onPropertyChange(city)"
onPropertyChange(city) {
return city.viweModel;
}
#city,[(ngModel)] 및 (ngModelChange)의 트라이어드는 양방향 바인딩을 허용합니다. onProperyChange가 실행되면 city라는 이름의 ngModel이 표시됩니다.
입력 컨트롤이 처음 로드되면 ngModel이 address.city 속성에 바인딩됩니다. address.city의 기본값은 "정의되지 않음"입니다. 사용자가 선택하면 NgModel에 대해 표시됩니다.
뷰모델
'viewModel'은 현재 변경 사항을 노출합니다. 컨트롤의 값 속성에 있는 값과 동일하며 항상 해당 값을 추적합니다.
모델
위의 이미지에서 "모델"속성에 대해 "정의되지 않음"값을 볼 수 있습니다. 모델 속성은 항상 바인딩에 대해 알려진 "마지막"값입니다. 문제가 발생한 경우 변경 사항을 되돌리는 좋은 방법입니다.
파이프 사용
ngModelChange는 항상 파이프보다 먼저 실행됩니다. 여기에 'cityPipe'라는 파이프를 추가합니다.
#city ="ngModel"
[ngModel]="address.city | cityPipe"
(ngModelChange)=
"address.city=
onPropertyChange(city)"
cityPipe가 호출됩니다.
Note: Don't set address.city in the onChange function as it will cause an endless loop of onChange events. Rather set address.city as shown above.
파이프를 통한 변경은 NgModel Change 이벤트를 다시 발생시키지 않습니다! 이렇게 하면 address.city의 실제 값이 표시된 사후 파이프 작업과 다를 수 있습니다. 이는 보기에서 값을 숨기는 데 특히 유용합니다.
다음 단계: ngModel과 함께 유효성 검사 패턴 사용.
JWP2020 모델 뷰모델 ngModel 바인딩
Reference
이 문제에 관하여(Angular NgModel : 모델, ViewModel 및 파이프), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jwp/angular-ngmodel-model-and-viewmodel-5m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)