Chapter 9: Combining watchers with $watchGroup

HTML

<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="Ctrl">
        <input ng-model="ping" />
        <input ng-model="ding.dong" />
    </div>
</div>

JavaScript

angular.module('myApp',[])
.controller('Ctrl', function($scope, $log) {
    $scope.ping = 'pong';
    
    $scope.ding = {
        dong: 'ditch' 
    };
    
    // watch ping and the ding.dong property by reference
    $scope.$watchGroup(['ping', 'ding.dong'], function(newVals, oldVals, scope) {
        // callback logic
        $log.log(newVals, oldVals, scope);
    });
});