角度 1 路绑定不影响性能
Angular 1 way binding not affecting performance
我正在做一个严重依赖angular进行前端任务的项目。在一个列表页面上,该页面显示大约 50 个带有 ng-repeat 的条目,每个条目都有很多观察者,所以我决定使用 angular 的静态绑定减少观察者的 # 个,并且能够减少 nos。从 12K 观察者到 8K 观察者,但即使在观察者大幅减少之后,加载时间、DOM 渲染或摘要周期时间也没有改善。摘要 cyle 与 8k 观察者花费的时间几乎相同或更多,因为它与 12k 观察者相同或更多,因此似乎 angular 的 1 次绑定在这里没有帮助。我使用了chrome的角度扩展batarang和一个库ng-stats。我想到的问题是:
1) 为什么静态绑定/1 路绑定在这里不增加性能?
2)减少编号。的观察者应该减少摘要周期并加快内容加载时间吗?
3)在这种情况下,还有其他技巧可以加快速度吗?(除了资产缩小)。
如果减少 4k 的观察者数量。它只是执行 4k 检查更少。如果您可以认为它们是简单的字符串值,那么少 4 000 个字符串比较就不算什么了。
关于 ng-重复性能 :如果您没有使用它,您应该使用 Track by。跟踪方式允许您指定列表的唯一键,角度应检查该键以检测更改。
如果您有大量数据,请非常小心您放入$scope
的内容,angular 将监视存储在范围内的所有内容,如果您不需要其中一些(例如内存中的一些巨大列表),则不应将它们存储到 $scope
中。当然,如果您使用 controllerAs 语法,这意味着您不应该将它们放入this
您的应用程序中可能有一些瓶颈,您应该首先专注于找到它们。
这样做的一个天真的方法只是评论/删除视图的某些部分并检查会发生什么。
另一个提示:您是否有一些代码看起来像:
$http().then(function(){
$http().then(function(){})
});
如果是这样,请检查您是否真的需要它,或者是否可以单独加载它们。如果需要执行多个请求并等待所有结果执行分组进程,请使用$q.all([arrayOfPromise]).then(function([arrayOfResults]){})
- NodeJ中的注释会影响性能吗
- javascript getAttribute是否会影响性能或触发布局
- 角度 1 路绑定不影响性能
- 数字精度如何影响 JavaScript 的性能,或者会影响性能
- 函数和对象之间的差异,以及它如何影响性能
- 打开的 APE(Ajax 推送引擎)通道的数量如何影响性能
- 对数组使用delete和后续的.push()会影响性能/内存消耗
- 使用两个或多个$(document).ready会影响性能吗
- 隐藏具有特定ID的元素的最佳方法是什么;不会影响性能
- 使用局部变量(而不是重复的属性访问)是否会影响性能
- id太多会影响性能吗
- 将多个事件处理程序绑定到滚动事件是否会影响性能
- 空try-catch如何影响性能
- 为DOM深处的元素设置动画真的会影响性能吗
- AngularJS -当模型变大时,调用$apply()会影响性能吗?
- 为循环条件缓存数组长度会影响性能吗?
- Angular JS HTML中相同表达式的数量会影响性能吗?
- “Interiting"From null对象似乎不会影响性能
- jQuery无限嵌套会影响性能吗?
- 递增未定义的对象属性而不影响性能