渲染表行而不绑定性能

时间:2017-02-20 19:33:05

标签: javascript angularjs html-table ng-repeat dom-manipulation

我正在使用Angular 1.4。众所周知,ng-repeat在为表等事物渲染大量行时可能会遇到一些性能问题。但我想知道是否有一种使用ng-repeat或一些替代迭代的最佳方式来简单地渲染我拥有的数据数组,用于表。

我不需要任何绑定,因为它只是为报告输出数据。我尝试了一些像一次性绑定这样的建议,但它仍然需要很长时间(1000条记录左右10秒或更长时间)。我尝试过的其他非Angular方法是在后端预呈现HTML,然后返回HTML而不是数据数组。我有一个自定义指令,只是将HTML添加到元素中。即使是2000行,这也不到一秒钟(显然因为我没有使用Angular)。

但如果我能在Angular中完成同样的事情,或者甚至在Angular端的控制器上做类似的事情,那将会很好。任何意见都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用单向绑定:

<ul ng-repeat="item in ::items">
  <li>{{ ::item.name }}</li>
</ul>

请注意,您必须将::语法添加到转发器中的每个条目。

我不确定你的逻辑是多么复杂,但1000行的10秒听起来很荒谬。