国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

淺談Angular.js中使用$watch監(jiān)聽(tīng)模型變化

2019-11-19 18:02:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

$watch簡(jiǎn)單使用

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

$watch(watchExpression, listener, objectEquality);

每個(gè)參數(shù)的說(shuō)明如下:

  • watchExpression:監(jiān)聽(tīng)的對(duì)象,它可以是一個(gè)angular表達(dá)式如'name',或函數(shù)如function(){return $scope.name}。
  • listener:當(dāng)watchExpression變化時(shí)會(huì)被調(diào)用的函數(shù)或者表達(dá)式,它接收3個(gè)參數(shù):newValue(新值), oldValue(舊值), scope(作用域的引用)
  • objectEquality:是否深度監(jiān)聽(tīng),如果設(shè)置為true,它告訴Angular檢查所監(jiān)控的對(duì)象中每一個(gè)屬性的變化. 如果你希望監(jiān)控?cái)?shù)組的個(gè)別元素或者對(duì)象的屬性而不是一個(gè)普通的值, 那么你應(yīng)該使用它

舉個(gè)栗子:

$scope.name = 'hello';var watch = $scope.$watch('name',function(newValue,oldValue, scope){    console.log(newValue);    console.log(oldValue);});$timeout(function(){    $scope.name = "world";},1000);

$watch性能問(wèn)題

太多的$watch將會(huì)導(dǎo)致性能問(wèn)題,$watch如果不再使用,我們最好將其釋放掉。

$watch函數(shù)返回一個(gè)注銷監(jiān)聽(tīng)的函數(shù),如果我們想監(jiān)控一個(gè)屬性,然后在稍后注銷它,可以使用下面的方式:

var watch = $scope.$watch('someModel.someProperty', callback);//...watch();

還有2個(gè)和$watch相關(guān)的函數(shù):

$watchGroup(watchExpressions, listener);$watchCollection(obj, listener);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨竹工卡县| 江山市| 韶关市| 息烽县| 余干县| 双牌县| 毕节市| 乌审旗| 绥德县| 和顺县| 泰宁县| 巨野县| 汾阳市| 疏勒县| 方城县| 松原市| 丹寨县| 松潘县| 民和| 保靖县| 淳安县| 科技| 武宁县| 濮阳县| 临泉县| 巴中市| 黔西县| 农安县| 黑龙江省| 桃园县| 南充市| 金溪县| 迁西县| 汉川市| 嘉义县| 留坝县| 怀柔区| 崇信县| 美姑县| 临邑县| 丰县|