在骨干中获取/收集/ id而不加载整个集合

yve*_*lem 7 collections model backbone.js

有没有办法加载Backbone集合的单个实体(从服务器)?

Backbone.Collection.extend({
  url: '/rest/product'
});
Run Code Online (Sandbox Code Playgroud)

以下代码可以加载整个集合collection.fetch()但是如何加载单个模型?Backbone的文档清楚地表明GET可以完成,/collection[/id]但不能如何完成.

yve*_*lem 9

该模型必须以这样的方式声明:

Backbone.Model.extend({
  url: function() {
    return '/rest/product/'+this.id;
  }
});
Run Code Online (Sandbox Code Playgroud)

使用它很简单:

var model = new ProductModel();
model.id = productId;
model.fetch({ success: function(data) { alert(JSON.stringify(data))}});
Run Code Online (Sandbox Code Playgroud)


j04*_*d20 7

我们设定的时候

url:"api/user" 
Run Code Online (Sandbox Code Playgroud)

对于集合,模型的等价物是

urlRoot:"api/user"
Run Code Online (Sandbox Code Playgroud)

这将使骨干在你获取()时自动附加/ id