我有一个带有代码补全编辑器的应用程序。用户开始输入时,会创建并显示一个数组proposal
。这个数组的创建非常快,几乎是瞬间完成。在最差的情况下,该数组的长度大约为500个项目。
问题在于,当用户输入时,数组的值不断变化。渲染ng-repeat
需要花费大约1-2秒钟的时间,这在输入过程中是一个巨大的延迟。我真的不明白为什么这是个问题,从计算角度来看,一个包含500个项目的数组根本就不算什么。
我不想限制数组大小,因为用户可以通过滚动浏览整个列表。还有其他的建议可以加速吗?
<li ng-repeat="proposal in proposals" ng-dblclick="copyProposal()" ng-class="{selected : proposal.selected}">
<img src="assets/img/key.png" ng-show="proposal.isKey" class="icon"/>
{{proposal.text}}
<span ng-show="proposal.type" class="detail">- {{proposal.type}}</span>
</li>
ng-repeat="user in user track by user.id"
- Errorproproposals
的项吗?这会对性能产生很大影响,因为如果数组实例发生更改,ngRepeat将重新生成列表。 - Reactgular