减少ui网格或替代网格解决方案创建的手表



如果这是一个关于ui网格的重复问题,我很抱歉,但我可以明确我的特定用例的选项。其他类似的问题并不能最终回答我的问题。

我们正试图在一个非常不寻常的web应用程序中使用ui网格,在这个应用程序中,页面上的表数量实际上是无限的。用户做的活动越多,它们就会被添加。虽然不理想,但这是必须的。

当使用ui网格时,即使是一个相当小的简单表格,它也会为每个表格添加大约1000个手表。随着每个表的添加,摘要周期也显著增加。正如您所料,当表的数量增加时,这会导致性能变差。

那么,我的问题是,有什么可以用ui网格来减少手表的数量吗?即无需深入到源代码中进行更改。我们使用一次性绑定表示法将数据传递到ui网格指令,但这没有什么区别。从其他类似的问题来看,在我看来,没有其他事情可以做,这很可能意味着ui网格不适合我们

或者,AngularJs内部是否有办法防止指令中的双向绑定?我不知道有这样的方法,但也许有人知道实现这一点的诀窍?!

最后,有人能提出一个更适合我们用例的替代网格吗?由于ui网格提供的功能,如列选择、单元格格式、排序、过滤等,我们正在试用它。是否有性能更好的AngularJS或其他JS网格可以覆盖这一功能?最好是免费使用?我们考虑过的其他产品有Kendo UI、jqxGrid、ag grid(尽管这可能需要付费)。

我们非常感谢您的帮助。

我的公司也遇到过类似的问题,尽管不是专门针对ui网格。您可能已经考虑过了,但我们的解决方案是水平和垂直分页。我对你的用例了解不多,但我们意识到,使用巨大网格进行水平和垂直滚动与你遇到的问题相同,但对用户来说,使用滚动条并不像使用页面控件在网格块之间移动那样实用。一次最多500个单元格可以放在一个屏幕上,使用滚动条很容易失去位置。

通过这样做,我们可以使用单向绑定(可能只使用一次绑定,但我必须深入研究代码才能确定)。即使使用双向绑定,如果相同的技术适用于您的用例,那么它也应该适用于您。

如果你使用ag Grid,就不会有手表。ag网格的核心不使用Angular,所以内部没有手表。

ag网格有两个版本,免费版和企业版。如果您不需要企业功能,那么请使用免费版本。

最新更新