相关疑难解决方法(0)

AngularJS在使用大约2000个元素渲染时真的很慢?

这是小提琴:http: //jsfiddle.net/D5h7H/7/

它呈现以下内容:

<div ng-repeat="group in Model.Groups">
    <span>{{group.Name}}</span>
    <div ng-repeat="filter in group.Filters">
        <input type="checkbox" ng-model="filter.enabled">{{filter.Name}}
        <select ng-disabled="!filter.enabled">
            <option ng-repeat="value in filter.Values">{{value}}</option>
        </select>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它是从服务器加载到json中然后呈现给用户的过滤器列表(在一个例子中,json就是在Fiddle中生成的).目前有6组30个过滤器,每个过滤器有15个选项元素.

在Firefox中,现在需要大约2秒来重绘UI.

对于角度js,这个时间还可以吗?有没有什么我做错了导致2秒.渲染(因为2000元素对我来说看起来不是一个大数字,但2秒.肯定是大的)?

javascript performance pageload angularjs ng-bind

25
推荐指数
3
解决办法
6万
查看次数

$ rootScope是最顶层$ scope的父级吗?

我有一个共享函数,它返回我的AngularJS应用程序中最顶层元素(文档)的范围.

function topScope() { 
  return angular.element(document).scope();
}
Run Code Online (Sandbox Code Playgroud)

这始终有效,我始终保证可以访问应用程序中的任何子范围(无论是在控制器内还是指令内).

这是我将用它的一个例子:

topScope().$emit('pageReady');
Run Code Online (Sandbox Code Playgroud)

现在我注意到$ rootScope的工作方式也一样.

$rootScope.$emit('pageReady');
Run Code Online (Sandbox Code Playgroud)

哪个也有效并达到同样的效果.但由于$ rootScope设计是"$范围现成的"范围则没有这仍然意味着它实际上是在页面的最上面的范围(创建将继承它的方法和属性的任何范围)?因此作为附加到文档节点的范围对象的父级?

angularjs

16
推荐指数
1
解决办法
7361
查看次数

标签 统计

angularjs ×2

javascript ×1

ng-bind ×1

pageload ×1

performance ×1