카테고리 없음

[AngularJS] $watch()

dddzr 2022. 7. 11. 14:39

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 목록을 교체해야할 때 위와같이 사용.