angularJS--watch()方法

 
 
在使用AngulaJS編寫應用時,咱們常常須要作的一件事情就是對模型中的變量進行監視,並對其發生的變化作出相應的迴應。AngularJS爲咱們提供了一個很是方便的$watch方法,它能夠幫助咱們在每一個scope中監視其中的變量。下面是一個很是簡單的例子:
 
 

  


<!
DOCTYPE html> <html ng-app> <head> <meta charset="utf-8"> <title>二、angularjs的$watch()方法</title> <script src="../js/angularjs.js"></script> <script src="../js/index7.js"></script> </head> <body> <!-- angularjs的數據綁定,雙向綁定,M,V,c之間的綁定 --> <div ng-controller="firstController"> <input type="text" ng-model="name" value="" /> <p>改變次數:{{count}}---{{name}}</p> </div> </body> </html>
var firstController=function($scope){
     $scope.name="張三";
     $scope.count=0;
    $scope.$watch("name",function(newValue,oldValue){
        console.log(newValue,oldValue);
        ++$scope.count;
        if ($scope.count>10) {
            $scope.name="輸入發生10次變化";
        };
    });
}

在AngularJS內部,每當咱們對ng-model綁定的name屬性進行一次修改,AngularJS內部的$digest就會運行一次,並在運行結束以後檢查咱們使用$watch來監視的東西,若是和進行上一次$digest以前相比有了變化,則執行咱們在其中綁定的處理函數。html

相關文章
相關標籤/搜索