中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談Angular.js中使用$watch監聽模型變化

發布時間:2020-10-05 08:16:03 來源:腳本之家 閱讀:137 作者:袁克強 欄目:web開發

$watch簡單使用

$watch是一個scope函數,用于監聽模型變化,當你的模型部分發生變化時它會通知你。

$watch(watchExpression, listener, objectEquality);

每個參數的說明如下:

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

舉個栗子:

$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性能問題

太多的$watch將會導致性能問題,$watch如果不再使用,我們最好將其釋放掉。

$watch函數返回一個注銷監聽的函數,如果我們想監控一個屬性,然后在稍后注銷它,可以使用下面的方式:

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

//...

watch();

還有2個和$watch相關的函數:

$watchGroup(watchExpressions, listener);

$watchCollection(obj, listener);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

水城县| 泸定县| 福贡县| 改则县| 扎鲁特旗| 白朗县| 舞钢市| 涿州市| 金寨县| 稻城县| 永吉县| 嘉祥县| 岳普湖县| 阿鲁科尔沁旗| 新余市| 苍溪县| 呼图壁县| 科技| 民丰县| 酉阳| 澎湖县| 吉木乃县| 富宁县| 临沭县| 晋城| 甘肃省| 绿春县| 新余市| 中卫市| 灵山县| 邯郸市| 达日县| 绥宁县| 同德县| 阿拉善右旗| 岐山县| 绍兴县| 珠海市| 潞西市| 农安县| 池州市|