$watch是一個scope函數,用於監聽模型變化,當你的模型部分發生變化時它會通知你。數組
$watch(watchExpression, listener, objectEquality);函數
每一個參數的說明以下:spa
watchExpression:監聽的對象,它能夠是一個angular表達式如'name',或函數如function(){return $scope.name}。code
listener:當watchExpression變化時會被調用的函數或者表達式,它接收3個參數:newValue(新值), oldValue(舊值), scope(做用域的引用)對象
objectEquality:是否深度監聽,若是設置爲true,它告訴Angular檢查所監控的對象中每個屬性的變化. 若是你但願監控數組的個別元素或者對象的屬性而不是一個普通的值, 那麼你應該使用它blog
1 var firstController = function($scope) { 2 $scope.name = "張三"; 3 $scope.count = 0; 4 $scope.$watch("name", function () { 5 ++$scope.count; 6 if ($scope.count > 30) { 7 $scope.name = "已經大於30次" 8 } 9 }) 10 }