0

我有一个单视图应用程序,让我们说两列并排。在左侧您有订单列表,当您单击一个时,您会在右侧看到它的详细信息。您可以更改数量并添加一些详细信息(文本字段).. 每当您这样做时,左侧列都会受到影响立马换了,不错。

该应用程序使用一个主控制器和一项服务。订单存储在 $localStorage 中,并在您初始化页面时由控制器传递给 $scope。该视图在左列使用 ng-repeat 循环,在右侧使用 ng-show。所有新订单都从外部服务器推送到应用程序(控制器在每次收到更新时更新 $localStorage 和 $scope)。

当订单列表变大时问题就开始了,从 50+ 开始就很明显了,在 $scope 中的订单越多,键盘上的输入(在 textarea 中)就越慢......我理解排序和过滤可能会消耗内存,但是这是我应该期待的,或者我的方法是错误的?

当您需要处理大数据时,您将如何分离您的应用程序逻辑? (假设同时有 500 多个订单)。

在此先感谢您的所有意见、建议和帮助...

4

1 回答 1

1

ng-repeat 创建了很多手表。很多手表=性能差。直接绑定到 ng-repeat 列表有多重要?您可以创建一个指令来执行 ng-repeat 对较少手表所做的操作,并且可能仅在您保存订单时更新。

还要检查这个库......即使它对您没有帮助,它也很好地描述了您遇到的问题,也许您可​​以找到解决方法。https://github.com/Pasvaz/bindence

你是什​​么意思你正在使用 ng-show 来显示订单?这意味着您实际上是为所有订单“详细视图”插入 DOM,然后仅使用 ng-show 显示它们?因为那将是另一个巨大的滞后。我只有一个“订单”部分,也许是一个具有隔离范围的指令,可以双向绑定到“选定”订单。

如果没有任何代码,很难准确地判断发生了什么,但希望这会有所帮助。

于 2013-09-25T15:45:51.310 回答