问题标签 [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 投票
2 回答
402 浏览

javascript - 如何使用和访问 Backbone.js 集合作为模型中的属性/属性?

我是 Backbone 的新手(仍然停留在 Ruby on Rails 模式中),并且对如何将集合作为属性/属性添加到模型中有点困惑(“属性”是正确的术语吗?)。

例如,我有一个名为 的模型current_plan,以及一个从服务器返回的名为 的变量json_dump,其中包含一个participants. 我希望它有一个名为的属性participants(它是参与者的集合),从 json_dump.participants 变量中填充它,并且能够使用类似 `current_plan.participants.where({first_name: "Dan"}) 的代码。

以下是我的初始化函数的一些片段:

但这迫使我访问常规属性,例如:current_plan.attributes.attribute. 另外,我可以看到 中有正确的数据current_plan.attributes.participants.models,但我不知道如何在current_plan.

显然我不明白发生了什么,以及为什么涉及这么多额外的层。Backbone 文档似乎有点稀疏,我无法在 SO 或 Google 搜索中找到与我想要做的匹配的任何内容。如果还有其他问题或教程可以解释这一点,我将非常感谢有人指出我的方式。我还看到了Backbone Relational项目,这似乎是我需要的,但在我了解基础知识之前,我不希望向 Backbone 添加更多复杂性。

感谢您为帮助新的 Backbone 用户提供的任何帮助!

0 投票
2 回答
4121 浏览

javascript - 在主干 js 中使用相同的集合从不同的 url 获取数据

我有一个必须调用 4 个外部 API 的集合,例如:http : //www.abc.com、http: //www.fgt.com、http : //www.jkl.comhttp ://www.rty .com _

我有一个名为 Todos.js 的集合。有没有办法我可以在一个集合中同时获取 4 个 api,因为所有四个 api 都会为我提供相同的模型响应所以我从 4 个 api 获得的响应具有相同的数据结构,即“名称”和“链接”。

有没有办法可以将所有响应附加到同一个集合中?实现这一目标的最佳方法是什么?

0 投票
0 回答
279 浏览

backbone.js - Backbone.js 干搜索结果模型和集合

我正在尝试为骨干创建一个干燥的搜索结果模型和集合,以便无论我在应用程序中搜索什么,我们都使用相同的模型/集合,并且偶尔可能会调用不同的视图。

我的模型和控制器非常简单

然后我填充 url 值以在视图中获取正确的请求和参数

没有“fetch”,一切都很好,但是当我包含 fetch 时,会进行 fetch,返回结果,但我得到了错误

我检查了响应,它是有效的 JSON。当我将 Myapp.results 输出到控制台时,我看到了集合,但它仍然是空的。错误和成功都不会被触发。

----------------update------------------------------------ 根据评论,我已经划分了上到第23行,发现这一行正在返回错误

如果我理解这条线的作用,这个问题可能是因为响应集合只返回了一个模型吗?我希望这不会导致问题,您应该能够拥有一个包含 1 个或更少模型的集合。

- - - - - - - 更新 - - - - - - - - - - - - -

所以我删除了对model集合中的引用,现在我没有得到错误。所以在某些方面,这已经解决了,但不应该这样。到目前为止我一直定义与集合关联的模型是否有原因?

0 投票
1 回答
3540 浏览

javascript - 通过模型属性搜索主干集合 - 正确完成

我有这个漂亮的函数,它遍历集合中的模型以获取属性和值。如果找到该值,则返回 true。

在浏览了很多文档之后,我仍然对如何正确遍历集合以及如何搜索它感到有些困惑。由于 underscorejs(在我的情况下为 lodash)被连接到主干中,我确实使用 .each 遍历集合

我没有在后面放一个 else ,if (model.get(attribute)===value)因为它会在遍历整个集合之前返回 false 。回调函数听起来像不必要的复杂性 - 但也许我错了(我几个月前开始使用 JS)

我会很高兴获得提示和/或更好的解决方案;-) 带有解释。提前致谢。

我使用requirejs,这就是为什么我通过_,Bacbkone ...

下面是集合的样子:

0 投票
1 回答
125 浏览

backbone.js - 如何从使用 forEach 的集合中删除模型?

我有以下一段代码

我可以将“passedModel”添加到 NewCollection,但不能删除它们。我做错了什么,我应该如何更正我的代码?

0 投票
1 回答
225 浏览

jquery - backbone.js json -> template

This is my first time using backbone.js. I am trying to get a json string to parse out and populate a template I have.

JSON:

CODE:

});

MARKUP:

The console.log shows that the JSON string is being read. But when it comes to the actual template. it gives me the error:

Uncaught ReferenceError: nav is not defined

which is from the markup.

0 投票
5 回答
19450 浏览

javascript - 设置骨干集合中所有模型的属性

我知道使用 pluck 方法我们可以在骨干集合中获取每个模型的属性数组

我想如果有一种方法可以为集合中的每个模型设置一个属性,

0 投票
1 回答
747 浏览

jquery - 骨干分页器没有对我的收藏进行分页

我有这个集合,我试图以这样的方式对它进行分页,以便每次调用只获取 2 个项目。如您所见,我有 ipp:2 将每页设置为每页 2 个项目。不过,我不明白为什么它会获取我收藏的所有项目。我的 Parse() 函数有问题吗?

0 投票
2 回答
3071 浏览

javascript - Backbone - 为模型中的 Fetch 声明默认参数

我有一些全局参数,每次我在集合上调用 fetch 时都想发送这些参数......我的问题是我不想在data: { ... }每次获取时都声明。

有没有办法可以在集合本身内部提供默认参数,并可以添加更多或覆盖一些?

例如:

而不是每次都这样做:

我只想提供一两个参数和一个成功函数,如下所示:

...并让 Collection 看起来像:

0 投票
1 回答
265 浏览

jquery - requestNextPage() 不是 Backbone.Paginate 中的函数

我正在编写一个需要分页的骨干集合。所以这是我的代码

我的观点是这样的:

现在在我看来,我正在调用:fetch();

在获取成功后,我试图调用 this.collection.requestNextPage();

它在 fetch() 之前工作正常,但是一旦它到达 requestNextPage 函数(位于 showMoreData() 函数中),它就会抛出一个错误,指出 requestNextPage() 不是一个函数。

我不知道我在哪里出错了..