반응형
어떻게 하면 AngularJS에서 $watching을 멈출 수 있나요?
Angular에 $워치를 설정할 수 있습니다.관심있는 식이 변경되었을 때 통지되는 JS 스코프입니다.하지만 흥미를 잃으면 어떻게 시청을 멈출 수 있을까?
전화할 때$watch
바인딩된 표현식의 등록을 취소하는 함수가 반환됩니다.
예를 들어 변수를 감시하려면foo
한 번만 변경:
var unregister = $scope.$watch('foo', function () {
// Do something interesting here ...
unregister();
});
답변이 아닌 추가 코멘트로서, 이것은 이벤트 청취자를 죽이는 것과 같은 원리입니다.
var unregister = $rootScope.$on("listen-for-something-cool", function($event, params) {
//Do cool stuff with params, then kill it
unregister();
};
다른 사람이 알아두면 좋을 것 같아서...
나는 받아들여진 대답이 어떻게 작동하는지 잘 모르겠다!나에게 그것은 전혀 효과가 없었다.
$watch 대신 $watch Collection을 사용하고 있었습니다.그리고 $watch로 변경하려고 하고, 수락한 답변을 적용했지만, 아무 것도 되지 않았습니다!!
나한테 효과가 있었던 건
var watchFoo = $scope.$watch('foo', function () {
// Do something interesting here ...
return;
});
시계 등록을 해제하고 시계 사이클을 깨는 중이었습니다.그리고 사이클이 깨진 후에도 잘 작동했습니다.어레이의 변경을 검출할 수 있었습니다.
코드는 다음과 같습니다.
var watchFoo = $scope.$watchCollection('foo', function (newFoo, oldFoo) {
if(condition) {
// Do something interesting here ...
return;
} else {
// Do something else here ...
}
});
납득이 가는 경우는, 인정된 회답을 사용할 수 있습니다.그렇지 않으면 이 회답이 도움이 됩니다.
언급URL : https://stackoverflow.com/questions/15715672/how-do-i-stop-watching-in-angularjs
반응형
'programing' 카테고리의 다른 글
워드프레스 테마에서 쇼트코드 사용 (0) | 2023.03.10 |
---|---|
JSON 구문 분석 오류: java.time 인스턴스를 생성할 수 없습니다.LocalDate: String 값에서 역직렬화할 문자열 인수 생성자/공장 메서드가 없습니다. (0) | 2023.03.10 |
URL의 각도 변경을 위한 IIS 설정 방법HTML5 모드의 JS 어플리케이션 (0) | 2023.03.10 |
스프링 부츠의 장점 (0) | 2023.03.10 |
json을 사용하여 튜플을 인코딩하는 가장 좋은 방법 (0) | 2023.03.10 |