亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

AngularJS實現(xiàn)一次監(jiān)聽多個值發(fā)生的變化

 更新時間:2016年08月31日 11:57:25   作者:MakingChoice  
這文章給大家介紹了如何利用AngularJS一次監(jiān)聽多個值發(fā)生的變化,文中通過示例代碼演示,這樣更方便大家理解學習,有需要的可以參考借鑒。

一、$watch簡單使用

$watch是一個scope函數(shù),用于監(jiān)聽模型變化,當你的模型部分發(fā)生變化時它會通知你。

$watch(watchExpression, listener, objectEquality);

每個參數(shù)的說明如下:

watchExpression:監(jiān)聽的對象,它可以是一個angular表達式如'name',或函數(shù)如function(){return $scope.name}

listener:watchExpression變化時會被調(diào)用的函數(shù)或者表達式,它接收3個參數(shù):newValue(新值), oldValue(舊值), scope(作用域的引用)

objectEquality:是否深度監(jiān)聽,如果設(shè)置為true,它告訴Angular檢查所監(jiān)控的對象中每一個屬性的變化. 如果你希望監(jiān)控數(shù)組的個別元素或者對象的屬性而不是一個普通的值, 那么你應(yīng)該使用它

舉個栗子:

$scope.name = 'hello';

var watch = $scope.$watch('name',function(newValue,oldValue, scope){

    console.log(newValue);

    console.log(oldValue);

});

$timeout(function(){

    $scope.name = "world";

},1000);

二、監(jiān)聽多個值的變化

大家通常遇到的情況為通過$watch()一次監(jiān)聽一個值的變化,當然這種時候滿足絕大部分情況。但是通過閱讀官網(wǎng)對于$watch()的解釋,$watch()還有第三個參數(shù),第三個參數(shù)是一個布爾類型,表示是否深度監(jiān)聽,深度監(jiān)聽的例子就是是否進行比較對象的屬性。

這樣我們就可以實現(xiàn)一次監(jiān)聽多個值的變化。

示例代碼

var app=angular.module("watchApp",[])
      .controller("watchController",["$scope",function($scope){
         $scope.object={};
         $scope.object.one=$scope.one;
         $scope.object.one=$scope.one;
         $scope.$watch("object",function(){
            .....
          },true);
      }])

總結(jié)

以上就是關(guān)于AngularJS如何一次監(jiān)聽多個值發(fā)生變化的全部內(nèi)容,大家都學會了嗎?希望這篇文章的內(nèi)容對大家的學習和工作能有所幫助,如果有疑問可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論