要以ng-repeat
而不是2路方式提高速度,我已改为单向绑定以提高速度。但我根本没有找到任何速度性能。任何人都可以帮我提高ng-repeat
的速度吗?
我的进程显示没有大的变化,当我在2之间以单向ng-repeats
VM780 script.js:30 Process time: 124 //single way
VM780 script.js:30 Process time: 132 //double way
VM780 script.js:30 Process time: 120 //single way
VM780 script.js:30 Process time: 121 // double way
VM780 script.js:30 Process time: 124 // single way
这是我使用的ng-repeat
:
<div class="showList">
<ul>
<li ng-repeat="d in data">{{::d.name}}{{::d.address}}{{::d.city}}{{::d.country}}</li>
<!-- <li ng-repeat="d in data">{{d.name}}{{d.address}}{{d.city}}{{d.country}}</li> -->
</ul>
</div>
答案 0 :(得分:2)
这里的问题是对性能改进的错误期望。该脚本不会从这些优化中获益。它每次都会生成一组新数据。
同样,测试性能的方法也是错误的,它只是衡量生成一组新数据并为其做初始摘要所花费的时间 - 每次都是相同的。
一次性绑定在后续摘要期间对相同的数据集有益。
衡量这种情况的方法类似于
setInterval(function () {
console.time('digest');
$scope.$apply();
console.timeEnd('digest');
}, 1000)
这样
<li ng-repeat="d in data">{{::d.name}}{{::d.address}}{{::d.city}}{{::d.country}}</li>
将显示一些性能改进
<li ng-repeat="d in data">{{d.name}}{{d.address}}{{d.city}}{{d.country}}</li>
当观察者数量变得更高时,它变得至关重要。