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

查看:67
本文介绍了javascript - angular的脏检查是检查了scope上属性对象的所有属性,还是只是检查与view绑定的属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比如scope上有一个对象有很多个属性,甚至嵌套了很多个对象,但是与view绑定的属性只有很少一部分,这种情况下我对angularjs进行脏值检查时产生了如题的疑惑。。。

解决方案

看个例子,

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

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

    console.log($scope);
  });

看下scope的结构

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

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

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

这篇关于javascript - angular的脏检查是检查了scope上属性对象的所有属性,还是只是检查与view绑定的属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆