问题标签 [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.
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 用户提供的任何帮助!
javascript - 在主干 js 中使用相同的集合从不同的 url 获取数据
我有一个必须调用 4 个外部 API 的集合,例如:http : //www.abc.com、http: //www.fgt.com、http : //www.jkl.com和http ://www.rty .com _
我有一个名为 Todos.js 的集合。有没有办法我可以在一个集合中同时获取 4 个 api,因为所有四个 api 都会为我提供相同的模型响应所以我从 4 个 api 获得的响应具有相同的数据结构,即“名称”和“链接”。
有没有办法可以将所有响应附加到同一个集合中?实现这一目标的最佳方法是什么?
backbone.js - Backbone.js 干搜索结果模型和集合
我正在尝试为骨干创建一个干燥的搜索结果模型和集合,以便无论我在应用程序中搜索什么,我们都使用相同的模型/集合,并且偶尔可能会调用不同的视图。
我的模型和控制器非常简单
然后我填充 url 值以在视图中获取正确的请求和参数
没有“fetch”,一切都很好,但是当我包含 fetch 时,会进行 fetch,返回结果,但我得到了错误
我检查了响应,它是有效的 JSON。当我将 Myapp.results 输出到控制台时,我看到了集合,但它仍然是空的。错误和成功都不会被触发。
----------------update------------------------------------ 根据评论,我已经划分了上到第23行,发现这一行正在返回错误
如果我理解这条线的作用,这个问题可能是因为响应集合只返回了一个模型吗?我希望这不会导致问题,您应该能够拥有一个包含 1 个或更少模型的集合。
- - - - - - - 更新 - - - - - - - - - - - - -
所以我删除了对model
集合中的引用,现在我没有得到错误。所以在某些方面,这已经解决了,但不应该这样。到目前为止我一直定义与集合关联的模型是否有原因?
javascript - 通过模型属性搜索主干集合 - 正确完成
我有这个漂亮的函数,它遍历集合中的模型以获取属性和值。如果找到该值,则返回 true。
在浏览了很多文档之后,我仍然对如何正确遍历集合以及如何搜索它感到有些困惑。由于 underscorejs(在我的情况下为 lodash)被连接到主干中,我确实使用 .each 遍历集合
我没有在后面放一个 else ,if (model.get(attribute)===value)
因为它会在遍历整个集合之前返回 false 。回调函数听起来像不必要的复杂性 - 但也许我错了(我几个月前开始使用 JS)
我会很高兴获得提示和/或更好的解决方案;-) 带有解释。提前致谢。
我使用requirejs,这就是为什么我通过_,Bacbkone ...
下面是集合的样子:
backbone.js - 如何从使用 forEach 的集合中删除模型?
我有以下一段代码
我可以将“passedModel”添加到 NewCollection,但不能删除它们。我做错了什么,我应该如何更正我的代码?
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.
javascript - 设置骨干集合中所有模型的属性
我知道使用 pluck 方法我们可以在骨干集合中获取每个模型的属性数组
我想如果有一种方法可以为集合中的每个模型设置一个属性,
jquery - 骨干分页器没有对我的收藏进行分页
我有这个集合,我试图以这样的方式对它进行分页,以便每次调用只获取 2 个项目。如您所见,我有 ipp:2 将每页设置为每页 2 个项目。不过,我不明白为什么它会获取我收藏的所有项目。我的 Parse() 函数有问题吗?
javascript - Backbone - 为模型中的 Fetch 声明默认参数
我有一些全局参数,每次我在集合上调用 fetch 时都想发送这些参数......我的问题是我不想在data: { ... }
每次获取时都声明。
有没有办法可以在集合本身内部提供默认参数,并可以添加更多或覆盖一些?
例如:
而不是每次都这样做:
我只想提供一两个参数和一个成功函数,如下所示:
...并让 Collection 看起来像:
jquery - requestNextPage() 不是 Backbone.Paginate 中的函数
我正在编写一个需要分页的骨干集合。所以这是我的代码
我的观点是这样的:
现在在我看来,我正在调用:fetch();
在获取成功后,我试图调用 this.collection.requestNextPage();
它在 fetch() 之前工作正常,但是一旦它到达 requestNextPage 函数(位于 showMoreData() 函数中),它就会抛出一个错误,指出 requestNextPage() 不是一个函数。
我不知道我在哪里出错了..