为了账号安全,请及时绑定邮箱和手机立即绑定

angular的脏检查是检查了scope上属性对象的所有属性,还是只是检查与view绑定的属性?

angular的脏检查是检查了scope上属性对象的所有属性,还是只是检查与view绑定的属性?

慕勒3428872 2018-09-08 09:42:09
比如scope上有一个对象有很多个属性,甚至嵌套了很多个对象,但是与view绑定的属性只有很少一部分,这种情况下我对angularjs进行脏值检查时产生了如题的疑惑。。。
查看完整描述

1 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

看个例子,

<div ng-controller="MainCtrl">
  {{a}}
</div>

angular.module('app', [])
  .controller('MainCtrl', function($scope) {
    $scope.a = 'aaa';
    $scope.b = 'bbb';

    console.log($scope);
  });

看下scope的结构

https://img1.sycdn.imooc.com//5bd131af0001491507620307.jpg

里面$$watchersCount表示脏值检测时需要处理的数据个数,如果我们把b也添加到页面上

<div ng-controller="MainCtrl">
  {{a}} {{b}}</div>

再次打印scope,会发现$watchersCount变为2了。脏值检测只会检测绑定的属性


查看完整回答
反对 回复 2018-10-25
  • 1 回答
  • 0 关注
  • 565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号