Angularjs 是否仅为DOM中的列表项创建观察程序

Angularjs 是否仅为DOM中的列表项创建观察程序,angularjs,Angularjs,这是一个应用程序-一个观察者计数器。在这个应用程序中,我将列表项目的前2个进行切片,当我向参考底图数据添加更多项目时,观察者计数保持不变。 以下是应用程序的一部分: angular.element( ".ng-scope" ).each( function ngScopeIterator() { // Get the scope associated with this element node.

这是一个应用程序-一个观察者计数器。在这个应用程序中,我将列表项目的前2个进行切片,当我向参考底图数据添加更多项目时,观察者计数保持不变。 以下是应用程序的一部分:

   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中的两个项目中的表达式创建观察者?