1

我开始使用backbone.js,我很困惑为什么你可以用很多不同的方式指定url。除了模型 url 函数之外,集合 url 似乎没有在任何地方使用。那么在我所有的模型上设置 urlroot 并且从不使用集合 url 有什么害处吗?

4

2 回答 2

2

完全没有害处,您可以在模型级别上完美地进行更新、删除等操作,但是当您想一次从服务器获取一组模型时,这样做很方便。

Books = Backbone.Collection.extend({
    url : "/books"
});
books = new Books();
books.fetch(); // this will line will make a GET request to your backend, the result will
               // be a list of models.
于 2013-05-28T04:35:51.293 回答
0

在 Backbone.js 中,模型和集合与“结构化”数据相关,而 Backbone 提供了执行此操作的方法。使用 Restful 路由,您通常需要像这样的更新/获取:

GET /students
[{name: "...", ...}]

GET /students/1
{name: "..."}

正如您所观察到的,URL 是相似的,但在大多数情况下,处理 Collection 和 Model fetch 的响应看起来会有所不同。由于从概念上讲,模型是集合的一部分,因此模型 URL 在大多数情况下可以从集合中解析。还有其他 API 的模型和集合不匹配,您需要自己设置 URL(例如会话模型,不属于集合)

也许它也有助于比较模型和集合获取的文档:

这也可能有助于理解 Backbone 的思维方式:http: //jonathanotto.com/blog/backbone_js_for_the_everyman.html

于 2013-05-28T09:02:32.663 回答