我开始使用backbone.js,我很困惑为什么你可以用一堆不同的方式指定url。除了模型url函数之外,似乎不会在任何地方使用集合url。那么在我的所有模型上设置urlroot并且从不使用收集网址有什么害处吗?
答案 0 :(得分: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.
答案 1 :(得分:0)
在Backbone.js中,模型和集合与“结构化”数据相关,而Backbone提供了执行此操作的方法。使用Restful路由,您最常需要更新/提取:
GET /students
[{name: "...", ...}]
GET /students/1
{name: "..."}
正如您所观察到的,URL类似,但在大多数情况下处理Collection和Model fetch的响应,看起来会有所不同。从概念上讲,模型是集合的一部分,模型URL在大多数情况下可以从集合中解析。还有其他模型和集合不匹配的API,您需要自己设置URL(例如,不属于集合的会话模型)
也许它还有助于比较Model和Collection fetch的文档:
这也可能有助于理解Backbone的思维方式:http://jonathanotto.com/blog/backbone_js_for_the_everyman.html