각도에서의 특성 변경 구독JS
녹아웃으로JS 다음과 같은 관측 가능한 뷰 모델 속성의 변경에 가입할 수 있습니다.
myViewModel.personName.subscribe(function(newValue) {
alert("The person's new name is " + newValue);
});
저는 지금 AngularJS를 배우고 있는데, AngularJS에 이와 동등한 것이 있을까요?이걸 찾아봤지만, 아무 소용이 없어요.
Angular의 스코프 개체JS에는 다음과 같은 특별한 방법이 있습니다.$watch'scoperating scope properties 。
모델의 새로운 값과 오래된 값을 수신하는 콜백을 받아들입니다.
$scope.$watch('modelName', function(newValue, oldValue){
// Do anything you like here
});
콜백은 초기화 시 및 모델이 변경될 때마다 실행됩니다.따라서 다음과 같이 동등성에 대한 추가 검사를 추가하는 것이 좋습니다.
$scope.$watch('modelName', function(newValue, oldValue){
// Check if value has changes
if(newValue === oldValue){
return;
}
// Do anything you like here
});
이를 통해 모델을 '관찰'하고 필요한 경우 몇 가지 작업을 수행할 수 있습니다.
한 가지 덧붙이자면 객체를 포함하는 모델을 보고 있다면 Angular를 나타내는 세 번째 파라미터를 추가로 사용해야 합니다.JS는 다음과 같이 두 값을 기준이 아닌 개체 등식으로 비교합니다(기준이 변경되지 않으므로 워처를 트리거하지 않음).
$scope.$watch('modelName', function(newValue, oldValue){
// Do anything you like here
}, true); // Add extra 'true' parameter to check for object equality
Angular에서 더 많은 문서를 볼 수 있습니다.JS 스코프 페이지
도움이 됐으면 좋겠네요!
API 호출 및 사용자 액션 또는 응용 프로그램이벤트에 의해 트리거된 비동기 데이터의 경우
$rootScope.$broadcast('updateSearch', value);
서비스 함수의 콜백에 직접 접속하여 컨트롤러에서 이를 활용합니다.
$scope.$on('updateSearch', function(event,value) {
$scope.search = value;
});
$watch를 사용하여 스코프 객체의 속성이 언제 변경되는지 확인할 수 있습니다.
http://docs.angularjs.org/api/ng.$rootScope.Scope#$watch
언급URL : https://stackoverflow.com/questions/17199995/subscribe-to-property-change-in-angularjs
'programing' 카테고리의 다른 글
| Jackson과 함께 고유 속성 존재에 따라 다형 유형 직렬화 해제 (0) | 2023.04.04 |
|---|---|
| JSONAray 및 JSONObject를 사용하여 포어치 (0) | 2023.04.04 |
| 문자열이 jq의 유효한 JSON인지 확인합니다. (0) | 2023.04.04 |
| Lombok - java.lang.StackOverflowError: toString 메서드의 null입니다. (0) | 2023.04.04 |
| DataBufferLimitException:버퍼 webflux 오류에 대한 최대 바이트 제한을 초과했습니다. (0) | 2023.04.04 |