반응형
$watch는 초기화 직후에 트리거됩니다.왜요?
페이지 로드 직후 $watch가 트리거되는 이유는 무엇입니까?또한 이를 방지하려면 어떻게 해야 합니까?
function MyCtrl($scope) {
// Init scope vars
$scope.data_copy = {};
// If data_copy changes...
$scope.$watch("data_copy", function(newValue, oldValue) {
alert("$watch triggered!");
}, true);
}
첫 번째 실행 시 두 값 모두(newValue
그리고.oldValue
)가 같기 때문에, 동등성을 체크하는 것으로 간단하게 회피할 수 있습니다.
$scope.$watch("data_copy", function(newValue, oldValue) {
if(newValue === oldValue){
return;
}
alert("$watch triggered!");
});
$watch 함수를 angular ready 함수로 감습니다.
angular.element(document).ready(function()
{
$scope.$watch("data_copy", function(newValue, oldValue) {
alert("$watch triggered!");
}, true);
})
각도 로드 시 페이지.값이 변경되고 $watch가 트리거됩니다.
여기에서는 이미 매우 좋은 논의가 이루어지고 있습니다.
AngularJS에서 모델 변경을 볼 때 초기 하중을 무시하려면 어떻게 해야 합니까?
$138.$watch fieldcontainer', 함수(new_fieldcontainer, old_fieldcontainer) {
(type of old_fieldcontainer === 'fieldcontainer')가 반환되는 경우,
// 변경된 개체를 처리하기 위한 기타 코드입니다.
});
언급URL : https://stackoverflow.com/questions/15875105/watch-is-triggered-directly-after-init-why
반응형
'source' 카테고리의 다른 글
Visual Studio 2015 JSX/ES2015 구문 강조 (0) | 2023.03.10 |
---|---|
구성 클래스에 대한 후보 가져오기를 처리하지 못했습니다. (0) | 2023.03.10 |
java.sql.SQLException:알 수 없는 시스템 변수 'query_cache_size' (0) | 2023.03.10 |
ASP의 Json()에서 소문자 속성 이름을 강제로 지정합니다.넷 MVC (0) | 2023.03.10 |
대응: 화살표 키로 목록을 탐색하는 방법 (0) | 2023.03.10 |