1. $watch()
watch 함수는 스코프변수의 변화를 감지하는 함수이다.
2. 기본적인 형태
data값이 변화면 자동으로 watch함수가 실행된다.
$scope.data = "";
$scope.$watch('data', function(newVal, oldVal){
}, true);
파라미터
1. $scope에 등록된 변수 이름
2. 콜백함수
콜백함수는 변경 후, 변경 전 값을 들고올 수 있다.
3. ture or false
false : 변수의 레퍼런스 변화 체크
true : 실제 변수 값 변화 체크 (defalut)
3. 예시
만약 이런식으로 함수를 따로 작성하면 data가 변경되지 않을 때도 함수 수동으로 호출가능.
$scope.data = "";
$scope.$watch('data', dataChanged);
function dataChanged(newVal, oldVal){
});
예시)
상위 레벨 값에 따라 하위레벨 option 목록이 교체.
level2가 All 인상태에서 level1을 변경하면 level2값이 변경되지않아 watch함수 실행x
수동으로 level3 option 목록을 교체해야할 때 위와같이 사용.