中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

AngularJS中的$watch(),$digest()和$apply()區分
來源:易賢網 閱讀:1188 次 日期:2016-07-08 15:39:46
溫馨提示:易賢網小編為您整理了“AngularJS中的$watch(),$digest()和$apply()區分”,方便廣大網友查閱!

這篇文章主要介紹了AngularJS中的$watch(),$digest()和$apply()區分,感興趣的朋友可以參考一下

AngularJS $scope里面的$watch(),$digest()和$apply()是AngularJS的核心函數,學習AngularJS必須理解這幾個函數。

在綁定$scope中的變量到view的時候,AngularJS自動在內部創建一個"Watch"。"Watch"用于監聽AngularJS scope中變量的改變。可以通過調用$scope.$watch()這個方法來創建"Watch"。

$scope.$digest()函數會循環訪問所有的watches,并檢測其所監聽的$scope中的變量是否改變。如果變量發生改變,會調用該變量對應的監聽函數。監聽函數可以實現很多操作,比如讓html里面的text文本顯示最新的變量值。可見,$scope.$digest是可以觸發數據綁定更新的。

大部分情況下,AngualrJS會自動調用$scope.$watch()和$scope.$digest()函數,但是在某些情況下,我們需要手動調用他們,因此,有必要了解他們是怎么工作的。

$scope.$apply()這個函數會先執行一些代碼,之后在調用$scope.$digest()。所有的watches會被檢測一次,相應的監聽函數也會被執行。$scope.$apply()在AngularJS與其它javascript代碼集成時是很有用的。

接下來我們具體的講解下$watch(), $digest() 和 $apply()。

$watch()

$watch(watchExpression, listener, [objectEquality])

watchExpression:監聽對象,可以是string或者function(scope){}

listener:監聽對象發生改變時執行的回調函數function(newVal,oldVal,scope){}

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

$digest()

檢測當前scope以及子scope中所有的watches,因為監聽函數會在執行過程中修改model(scope中的變量),$digest()會一直被調用直到model沒有再變。當調用超過10次時,$digest()會拋出一個異常"Maximum iteration limit exceeded',以此來防止程序進入一個死循環。

$apply()

$apply([exp])

exp:string或者function(scope){}

$apply()生命周期偽代碼示意圖如下

function $apply(expr) {

 try {

  return $eval(expr);

 } catch (e) {

  $exceptionHandler(e);

 } finally {

  $root.$digest();

 }

}

Example

下面我們通過一個例子來說明$watch,$digest和$apply。

<script>

var module = angular.module("myapp", []);

var myController1 = module.controller("myController", function($scope) {

  $scope.data = { time : new Date() };

  $scope.updateTime = function() {

    $scope.data.time = new Date();

  }

  document.getElementById("updateTimeButton")

      .addEventListener('click', function() {

    console.log("update time clicked");

    $scope.data.time = new Date();

  });

});

</script>

<body ng-app="myapp">

<div ng-controller="myController">

  {{data.time}}

  <br/>

  <button ng-click="updateTime()">update time - ng-click</button>

  <button id="updateTimeButton" >update time</button>

</div>

</body>

這段代碼會綁定$scope.data.time到HTML中顯示出來,同時這個綁定會自動創建一個watch來監聽$scope.date.time的變化。此外,這里還有2個按鈕,第一個按鈕是通過ng-click Directive來調用$scope.updateTime方法,之后AngularJS會自動執行$scope.$digest()使最新的時間顯示到HTML中。第二個按鈕是通過javascript代碼添加一個點擊事件,以此來更新HTML中的時間。但是第二個按鈕是不能工作的,它的解決辦法是在點擊事件的最后手動的去調用$scope.$digest()方法,如下:

document.getElementById("updateTimeButton")

    .addEventListener('click', function() {

  console.log("update time clicked");

  $scope.data.time = new Date();

  $scope.$digest();

});

另外一個解決辦法是調用$scope.$apply(),如下:

document.getElementById("updateTimeButton")

    .addEventListener('click', function() {

  $scope.$apply(function(){

      console.log("update time clicked");

      $scope.data.time = new Date();

    }

  );

});

以上就是本文的全部內容,希望對大家的學習有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
午夜精品成人在线| 欧美日韩视频在线一区二区| 久久久精品一品道一区| 国产无一区二区| 美女精品自拍一二三四| 亚洲三级视频在线观看| 国产精品久久久久久久久久免费 | 国产日韩欧美成人| 久久精品视频免费| 99亚洲视频| 在线观看视频免费一区二区三区| 欧美精品v国产精品v日韩精品| 亚洲欧美视频在线观看视频| 在线观看福利一区| 国产美女精品| 国产精品三上| 国产精品久久久久高潮| 欧美aaa级| 免费成人黄色片| 久久久久久久波多野高潮日日| 一本久久综合亚洲鲁鲁| 激情成人在线视频| 国产日韩欧美在线看| 欧美三级视频| 欧美精品123区| 欧美精品在线免费观看| 狼人天天伊人久久| 欧美一区二区国产| 亚洲激情在线视频| 亚洲国产精品成人| 亚洲精品美女久久7777777| 尤妮丝一区二区裸体视频| 一区二区三区在线观看国产| 国产亚洲欧美一区| 欧美视频一区二区三区在线观看| 欧美77777| 欧美日韩国产成人在线免费| 欧美激情亚洲一区| 国产精品毛片在线| 精品成人在线| 亚洲日本中文字幕免费在线不卡| 亚洲精品国产精品国自产观看| 精品成人一区二区| 国产日韩欧美电影在线观看| 欧美性猛交xxxx乱大交蜜桃 | 国产欧美一区二区精品仙草咪| 一区二区三区在线视频观看| 亚洲视频播放| 国产精品久久亚洲7777| 欧美视频在线观看一区二区| 国产精品永久在线| 亚洲大片在线| 亚洲深夜影院| 亚洲高清自拍| 欧美一区二区在线免费播放| 麻豆久久久9性大片| 在线免费观看欧美| 亚洲激情国产精品| 欧美日韩视频一区二区| 欧美午夜女人视频在线| 亚洲欧美在线一区| 亚洲欧美日韩在线高清直播| 欧美精品在线视频| 久久精品在线播放| 亚洲一区二区在线| 一区二区三区成人| 一区二区三区高清不卡| 亚洲经典一区| 亚洲美女在线看| 亚洲精品久久久久久久久| 91久久精品日日躁夜夜躁国产| 亚洲国产精品福利| 91久久精品日日躁夜夜躁欧美| 亚洲国产高清一区| 一本色道久久综合狠狠躁篇的优点 | 国产精品ⅴa在线观看h| 国产精品久久久久永久免费观看| 国产精品区一区二区三区| 国产欧美一区二区三区沐欲 | 夜夜夜久久久| 午夜精品视频一区| 蜜臀91精品一区二区三区| 欧美日韩国产在线播放网站| 国产精品捆绑调教| 亚洲国产精品一区二区久| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 激情成人在线视频| 在线观看中文字幕不卡| 在线天堂一区av电影| 香蕉成人久久| 欧美第十八页| 国产农村妇女精品一区二区| 樱花yy私人影院亚洲| 99在线精品视频| 久久综合激情| 国产精品视频99| 亚洲精品乱码久久久久久久久| 亚洲男人的天堂在线| 麻豆精品视频在线观看视频| 欧美日本免费一区二区三区| 国产亚洲欧美一区在线观看| 亚洲最新视频在线播放| 久久精品视频导航| 国产精品亚洲产品| 99香蕉国产精品偷在线观看| 久久久国产精品亚洲一区 | 99v久久综合狠狠综合久久| 欧美影院视频| 欧美午夜片欧美片在线观看| 亚洲激情影院| 女同性一区二区三区人了人一 | 亚洲另类视频| 鲁鲁狠狠狠7777一区二区| 国产日本欧美一区二区三区| 一卡二卡3卡四卡高清精品视频| 免费不卡亚洲欧美| 国产一区激情| 欧美一区二区在线播放| 国产精品久久毛片a| 宅男在线国产精品| 欧美日韩国产精品成人| 亚洲人成人一区二区三区| 老司机成人在线视频| 激情成人av| 久久久久久久久久久久久久一区| 国产精品日本精品| 亚洲男人第一网站| 国产精品一区二区久久国产| 亚洲免费在线观看| 国产精品夜夜嗨| 午夜精品一区二区三区四区 | 国产日韩欧美日韩| 亚洲欧美激情精品一区二区| 欧美精品播放| 日韩一级在线| 欧美三区视频| 日韩视频不卡中文| 欧美日韩在线播| 亚洲精品小视频| 欧美国产精品中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 麻豆精品视频在线观看| 亚洲国产精品国自产拍av秋霞| 久久一本综合频道| 亚洲大胆美女视频| 久久亚洲电影| 亚洲福利av| 欧美日韩综合| 欧美亚洲系列| 今天的高清视频免费播放成人 | 亚洲综合色网站| 国产欧美一区二区三区沐欲| 亚洲影音一区| 伊人成人在线| 欧美区在线播放| 欧美中文在线字幕| 亚洲二区三区四区| 国产精品成人播放| 久久亚洲综合色| 亚洲午夜一区二区三区| 国内在线观看一区二区三区| 男女精品网站| 午夜视频久久久| 亚洲经典自拍| 国产精品视频第一区| 麻豆精品国产91久久久久久| 日韩午夜精品| 激情文学一区| 国产精品毛片va一区二区三区| 久久亚洲不卡| 亚洲欧美激情在线视频| 91久久久久| 国产一区二区福利| 欧美日韩日本网| 久久精品一区二区三区中文字幕| 亚洲人成啪啪网站| 国产性色一区二区| 欧美日韩亚洲一区在线观看| 亚洲欧美欧美一区二区三区| **性色生活片久久毛片| 国产精品一区二区三区免费观看 | 卡通动漫国产精品| 亚洲日本中文字幕区| 欧美午夜影院| 欧美不卡福利| 欧美一区二区在线看| 亚洲激情电影中文字幕| 国产女主播视频一区二区| 欧美色欧美亚洲另类七区| 美女性感视频久久久| 亚洲一区二区三区午夜| 亚洲伦理一区| 亚洲国产精品一区二区三区| 欧美日韩免费看| 久久久噜噜噜久久中文字免| 亚洲综合色在线| 亚洲一区二区三区四区中文| 艳妇臀荡乳欲伦亚洲一区| 精品不卡一区二区三区| 国产在线精品二区|