참고(구글번역)
– Understanding $watch(), $watchgroup() and $watchCollection() methods of scope
(http://www.dotnettricks.com/learn/angularjs/understanding-watch-watchgroup-and-watchcollection-methods-of-scope)
■ $watchCollection는 객체의 속성을 감시하고 속성이 변경 될 때마다 발생합니다. 객체를 첫 번째 매개 변수로 사용하고 객체의 속성을 감시합니다.
$watchCollection(obj, listener)
■ $watchCollection
리스너는 객체의 아무 속성이나 변경될 때마다 호출됩니다.
<script> $scope.names = ['shailendra', 'deepak', 'mohit', 'kapil']; $scope.dataCount = 4; $scope.$watchCollection('names', function (newVal, oldVal) { $scope.dataCount = newVal.length; }); </script>
■ $watchCollection 예제
<!DOCTYPE html> <html ng-app="myApp"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset="utf-8"> <head> <title></title> <script src="/js/angularjs/1.5.6/angular.js"></script> <script src='/js/jquery/jquery-1.11.0.min.js'></script> <script> var myApp = angular.module("myApp",[]); myApp.controller("myAppCtrl", function($scope){ $scope.person = { name : "", age : 0, score: 0 }; $scope.changeName = function() { $scope.person.name = "mirinae"; } $scope.changeAge = function() { $scope.person.age = $scope.person.age+1; } $scope.changeScore = function() { $scope.person.score = $scope.person.score+10; } $scope.$watchCollection('person', function(newVal, oldVal) { console.log( "newVal : " + JSON.stringify(newVal) + "\told oldVal : " + JSON.stringify(oldVal) ); $("#log").text( "person : " + JSON.stringify(newVal)); }); }); </script> </head> <body ng-controller="myAppCtrl"> <h1> AngularJS $watchCollection<br/> <font color="red"></font> </h1> <button ng-click="changeName()">$watchCollection 테스트(change name)</button> <button ng-click="changeAge()">$watchCollection 테스트(change age)</button> <button ng-click="changeScore()">$watchCollection 테스트(change score)</button> <hr/> <div id="log"></div> </body> </html>
■ $watchCollection 예제 실행 결과
- AngularJS angular.copy 사용법, angular 복사 2019년 5월 17일
- AngularJS fromJson, toJson 사용법 2019년 5월 15일
- AngularJS에서 ng-style사용시 조건문 이용방법 2019년 4월 25일
- AngularJS에서 ng-style사용시 함수 이용방법 2019년 4월 23일
- AngularJS 동적 HTML, Function 추가 2019년 4월 15일
- AngularJS에서 팝업창 띄우기 2019년 4월 2일
- AngularJS 하나의 모듈에 factory 다중 등록 2018년 2월 26일
- AngularJS factory 예제 2018년 2월 26일
- AngularJS forEach ng-repeat 예제 2018년 2월 19일
- AngularJS $http, spring TEXT response 예제 2018년 1월 17일
- AngularJS selectbox 간단한 예제 2018년 1월 15일
- AnuglarJS forEach 예제 2018년 1월 12일
- AngularJS checkbox 제어 및 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS button 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS radio 활성/비활성(ng-disabled) 예제 2018년 1월 8일
- AngularJS $broadcast, $emit, $on 예제 2018년 1월 3일
- AngularJS – $watch $digest $apply Life Cycle 2017년 12월 26일
- AngularJS $watchCollection 2017년 12월 26일
- AngularJS $watchGroup 2017년 12월 26일
- AngularJS $watch 2017년 12월 26일
- AngularJS 반복문 ng-repeat 2017년 7월 22일
- AngularJS $timeout 2017년 7월 22일
- AngularJS Show/Hide, 보이기/숨기기 2017년 7월 16일
- AngularJS 라디오 버튼 제어 2017년 7월 16일
- AngularJS시작하기, Hello AngularJS 2017년 7월 15일