2016-10-12 7 views
0

내 의도는 $ rootScope에서 값을보고 값이 변경되면 리스너 메소드를 호출하는 것입니다. 그러나 값이 변경되지 않으면 리스너도 호출된다는 것을 알았습니다. 값이 각도로 변경되었는지 살펴볼 방법이 있습니까? 여기

app = angular.module('myApp',[]); 

app.controller('MyCtrl', function($rootScope, $timeout){ 
    $rootScope.markers = 1; 
    $rootScope.$watch('markers', function(newValue, oldValue){ 
    console.log('being watched oldValue:', oldValue, 'newValue:', newValue); 
    }); 
    $timeout(function() { 
    $rootScope.markers = 1; 
    }, 500); 
}); 

http://plnkr.co/edit/MXIaJKE9UGTMjrreFjb0?p=preview

답변

0

$watch 실행 컨트롤러를 만들 때 코드는 다음 값을 할당 할 때, 당신은 $watch 함수 내에서 평등을 확인해야하므로 :

if(oldValue != newValue) {...} 
관련 문제