【发布时间】:2016-05-28 05:19:13
【问题描述】:
我想了解 angularJS 中的绑定是如何工作的。 我尝试尽可能简单地创建代码来向您展示 mu 问题。 我知道如何使用它,但我不知道它是如何工作的。
这是我的例子。在其中我有3个范围变量: Plunker
<pre>{{A}}</pre>
<pre>{{B}}</pre>
<pre>{{C()}}</pre>
这些定义如下:
$scope.A = factory;
$scope.B = factory.a;
$scope.C = function() {
return factory.a.b;
};
名为“工厂”的工厂返回此对象:
a: {'b': 'foo'}
超时以这种方式更新工厂:
$timeout(function() {
factory.a = {
'b': 'BOO'
}
}, 1000);
我想问是否有人可以给我明确的答案,为什么只有第一个(A)和第三个(C)在超时后更新,而第二个没有。
【问题讨论】:
-
B 是 Angular 中的一个集合(对象)。值和函数将根据摘要更新,在“脏”检查期间不会检测到对象属性。
标签: javascript angularjs binding timeout