1

我们有一个从对象数组动态构建的数据绑定表。有 2 个循环,一个用于列,一个用于行。有一些过滤器可根据数据类型对每个单元格进行格式化。如果不分页,页面很快就会崩溃,大约有 600 条左右的记录。Chrome 可以,但 IE 不行。我确实删除了过滤器等,但这并没有太大的不同。

我认为绑定的 Angular 特性正在减慢它的速度。有没有办法只做一种单向绑定/模板,而不会产生普通绑定带来的额外开销?类似于把手的东西?我可能可以编写一个指令来处理这个问题,但如果可能的话,我想使用内置的东西。

额外说明:我不认为我可以选择使用其他一些预先构建的数据网格,因为我们在应用程序中有自己的外观和感觉,我不想尝试自定义它以适应。

4

1 回答 1

1

为了回答我自己的问题,我找到了一些不同难度的选项。

Pasquale Vazzana 编写了一个名为 bind-once 的出色指令,它不会对绑定保持任何监视,从而减少开销。

https://github.com/Pasvaz/bindence

这应该适用于中小型表格(<5000 个单元格)。

在较大的表上,虚拟化(无限滚动/虚拟滚动等)是要走的路。

Jquery EasyUI 提供了一个带有虚拟滚动选项的数据网格 http://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&theme=default&dir=ltr&pitem=

希望这可以帮助同一条船上的人。

于 2014-02-15T19:13:47.337 回答