问题标签 [backbone.js-collections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
16965 浏览

jquery - 保存整个集合的最佳实践?

假设我有一个集合,并且我已经对它的许多模型进行了更改。使用单个 HTTP 请求保存所有更改的最佳方法是什么?

0 投票
4 回答
24551 浏览

javascript - 使用 POST 请求获取集合?

我已经设法使用 REST APIfetch()处理 url 包含最少参数(和使用GET)的数据。

如何通过POST请求检索集合?

0 投票
3 回答
19277 浏览

javascript - 是否可以使用对象 ID 而不是对象来初始化主干集合?

我有一个 Backbone.js 集合,并且我有一个模型 ID 数组,我想填充它。我知道我可以一个一个地获取这些对象,构建一个对象数组并将它们作为数组传递给 Collection 的构造函数。

我想做的是将对象 id 的数组作为初始数据传递给构造函数,并根据this让 Collection 来获取它们,可能作为批处理。

可行吗?

0 投票
5 回答
17839 浏览

javascript - 如何提取 Backbone 集合的属性

我想从 Backbone 集合中创建一个特定属性值的数组。

这有效,但似乎效率低下。有没有一种方法可以完成同样的事情而不必定义days三次?

0 投票
2 回答
37435 浏览

javascript - Backbone.js 集合选项

我使用 Backbone.js 编写了一个模型/视图/集合。我的收藏使用 fetch 方法从远程服务器加载模型。此集合所需的 url 需要一个 id,例如:messages/{id}。但我没有找到将选项传递给集合的干净方法。

主干.js 视图通过在构造时传递选项来接受选项:view([options]),但集合在构造时需要一个模型列表:collection([models])。

将参数/选项传递给这个集合的“最干净”的方式是什么?

缩短代码:

0 投票
3 回答
18663 浏览

javascript - 将 jQuery UI Sortable 的顺序保存到 Backbone.js 集合

我有一个 Backbone.js 集合,我希望能够使用 jQuery UI 的 Sortable 对其进行排序。没什么特别的,我只是有一个我希望能够排序的列表。

问题是我不确定如何在排序后获取项目的当前顺序并将其传达给集合。Sortable 可以自行序列化,但这不会给我需要提供给集合的模型数据。

理想情况下,我希望能够仅获取集合中模型的当前顺序的数组并使用集合的重置方法,但我不确定如何获取当前顺序。请分享任何想法或示例以获取具有当前模型顺序的数组。

0 投票
2 回答
11486 浏览

backbone.js - 检索添加到 Backbone.js 集合的项目的索引位置

如果我将一个项目添加到集合中,我如何找到它被添加的位置?用于 add的Underscore.js 文档建议实现此目的的唯一方法是绑定到 add 事件。

还有其他方法吗?如果没有,那么我如何从回调中获取索引?我尝试提供以下回调:

但 options.index 是undefined. 我使用以下代码绑定到事件:

并使用此代码添加一个项目:

集合中的模型是:

该系列是:

我将模型添加到集合中:

更新

问题是(我认为),比较器函数用于 indexOf 和 sortedIndexOf,因此就比较器函数而言,具有相同键的两个对象实际上是同一个对象。

我曾希望* CID 将用于确保对象实际上是我在已经排序的集合中寻找的对象。然而似乎不是。我想一种可能的解决方案是更改我的比较器函数以包含 CID:

模型仍然根据它们的key值排序,但以下代码返回正确的索引位置:

感觉 hacky :( 任何人都可以对此发表意见吗?

0 投票
1 回答
873 浏览

backbone.js - 如何从集合中获取自构建以来发生变化的模型列表

如果我在初始化对话框视图时使用模型属性的对象数组初始化集合。然后,允许用户编辑列表的对话框视图通过调用模型集来更新这些模型值。当单击对话框的确定​​按钮时,主干是否提供了一种方法来获取自集合创建/初始化以来更改的模型列表?

0 投票
1 回答
165 浏览

javascript - 0.5.3 到 0.9.2 增加了收集效率低下

我从 0.5.3 升级到 0.9.2 的主干.js,我注意到我的应用程序的速度显着下降。该应用程序处理许多大型集合并在某些点添加大量模型。一次添加 0 到 600 个模型。在 0.5.3 版本中,sortedIndex 函数使用最多,占用了 12% 的 CPU。在 0.9.2 版本中,代码变得明显变慢,sortBy 函数占用了 70% 的 CPU。

我怀疑他们正在添加所有模型然后对其进行排序,而不是将每个模型添加到应该保持集合排序的位置。是否有一个标志可以用来让它使用旧方法或任何其他加速它的方法。我意识到我可以为我的大型数据集实现自己的集合类,但我现在更愿意坚持使用骨干集合。

这是收集比较器

提前致谢

0 投票
1 回答
269 浏览

backbone.js - Chrome 扩展将主干.js 集合转换为常规 JavaScript 数组

在我的后台脚本中:

在我的 browser_action 的 javascript 中:

正如上面评论中提到的,sendRequest 回调中的“collection”参数原来是一个常规的 JS 数组,而不是 Backbone.Collection。

这是铬采取的消毒人工制品/安全措施吗?有没有办法通过 sendRequest 传递 Backbone.Collection?