gpt4 book ai didi

backbone.js - 设置 Backbone Collection.models 与使用 Collection.reset 的陷阱

转载 作者:行者123 更新时间:2023-12-02 01:35:47 25 4
gpt4 key购买 nike

我在尝试实例化 Collection 时遇到性能障碍通过直接将 Models 的列表传递给它或使用 Collection.reset .大约需要 6000ms用 4800 Models 初始化它每个大约有 200 个属性。这不是那么大,所以开始时有点令人惊讶,但是接下来,我试图通过设置 Collection.models 来加快它的速度。直接到models的数组,并设置 Collection.lengthlength .

问题是,除了最初的排序,这两种方法有什么区别,资源用在了哪里?我用 reset初始化集合,因此无需删除模型上的事件处理程序或清理任何东西。

用例:

尝试显示无限滚动的表格,其中每一行都是一个模型,集合是行的集合。每行可以有大约 200 列。这是一个静态表,除了包含复选框的单个列。模型没有做任何其他事情。

最佳答案

除了它们的模型长度之外,集合还有更多内容。

当直接分配时,我们绕过了集合定义的任何其他行为(排序、存在性检查等)。 reset 和构造函数(最终委托(delegate)给 reset)都使用了集合的 heavy-ish set。确保添加的新模型与集合的设计行为一致的方法。

如果模型将始终被重置(即,不单独添加或删除),则直接赋值可能没问题,但如果模型未被设置<,则某些集合功能可能会出现意外行为.

关于backbone.js - 设置 Backbone Collection.models 与使用 Collection.reset 的陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31320784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com