Angularjs 是否仅为DOM中的列表项创建观察程序
这是一个应用程序-一个观察者计数器。在这个应用程序中,我将列表项目的前2个进行切片,当我向参考底图数据添加更多项目时,观察者计数保持不变。 以下是应用程序的一部分:Angularjs 是否仅为DOM中的列表项创建观察程序,angularjs,Angularjs,这是一个应用程序-一个观察者计数器。在这个应用程序中,我将列表项目的前2个进行切片,当我向参考底图数据添加更多项目时,观察者计数保持不变。 以下是应用程序的一部分: angular.element( ".ng-scope" ).each( function ngScopeIterator() { // Get the scope associated with this element node.
angular.element( ".ng-scope" ).each(
function ngScopeIterator() {
// Get the scope associated with this element node.
var scope = $( this ).scope();
// The $$watchers value starts out as NULL.
total += scope.$$watchers
? scope.$$watchers.length
: 0
;
}
);
观察者计数器的实现是否正确
我的问题是-是否只有位于DOM中的真正列表项的观察者,或者对于基础数组中的每个项都有观察者?
$watchers
不是为DOM中的列表项创建的,而是为它们内部使用的表达式创建的,如{friend.name}
。因此,没有新的表达方式-没有新的观察者。此外,我认为您可以使用$rootScope.$$watchersCount
查看应用程序中有多少人,而无需手动计算观察者 因此,如果我显示两个使用ng repeat呈现的项目,即使模型中有更多的项目-将只为DOM中的两个项目中的表达式创建观察者?