去一个沉重的数据库表去拓宽

时间:2013-05-17 14:50:29

标签: angularjs

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

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

额外注意:我认为我没有选择使用其他预先构建的数据网格,因为我们在应用程序中拥有自己的外观和感觉,我宁愿不尝试自定义它以适应。

1 个答案:

答案 0 :(得分:1)

为了回答我自己的问题,我发现了一些各种困难的选择。

Pasquale Vazzana编写了一个名为bind-once的优秀指令,它不会将任何监视器保留在绑定中,从而减少了开销。

https://github.com/Pasvaz/bindonce

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

在较大的表格上,虚拟化(无限滚动/虚拟滚动等)是最佳选择。

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

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