我们有一个数据绑定表,它是从一组对象动态构建的。有2个循环,一个用于列,一个用于行。根据数据类型,每个单元格都有一些格式化过滤器。如果没有分页,页面就会很快落到大约600条记录左右。 Chrome可以,但IE不行。我确实删除了过滤器等,但它没有产生巨大的差异。
我认为绑定的Angular性质正在减慢它的速度。有没有办法只做一个单向绑定/模板,没有正常绑定带来的额外开销?类似于把手的东西?我可以编写一个指令来处理这个问题,但是如果可能的话,我想使用内置的东西。
额外注意:我认为我没有选择使用其他预先构建的数据网格,因为我们在应用程序中拥有自己的外观和感觉,我宁愿不尝试自定义它以适应。
答案 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=
希望这可以帮助同一条船上的人。