API im 使用处理集合的方式如下。让我们称之为用户:
- /users 返回一组用户 ID。然后要获得实际用户,您可以:
- /用户身份
填充集合的最具战略意义的方法是什么?
我正在考虑将集合 url 设置为 /users ,然后在 parse 方法中调用 /user/id 。
API im 使用处理集合的方式如下。让我们称之为用户:
填充集合的最具战略意义的方法是什么?
我正在考虑将集合 url 设置为 /users ,然后在 parse 方法中调用 /user/id 。
我认为您对使用该parse
方法有正确的想法:
var User = Backbone.Model.extend({
urlRoot: '/user',
// idAttribute: 'id', // This is the default
initialize: function() {
// If you need the info right away, do this
// Otherwise I would probably just fetch when necessary
this.fetch();
}
});
var Users = Backbone.Collection.extend({
model : User,
url : '/users',
parse: function(response) {
// Assuming the response is just an array like [1,2,3,4]
return _.map(response, function(id) { return { id: id }; });
}
});
var users = new Users();
users.fetch();
您通常会有一个与Collection关联的模型。
Var User = Backbone.Model.extend({
idAttribute : 'id'
});
var Users = Backbone.Collection.extend({
model : User,
url : '/users'
});
var user = new User();
var users = new Users();
因此,如果您想获取用户列表。你会做一个 collections.fetch();
users.fetch(); // in this case
同样,如果您想根据用户获取单个id
用户。
您可以在模型urlRoot
上设置属性
Var User = Backbone.Model.extend({
idAttribute : 'id',
urlRoot : '/user'
});
var user = new User();
user.fecth()
默认情况下,id
将是发出请求时附加到 url 的最后一个参数。