两步收集的最具战略意义的方法是什么?

时间:2013-08-08 16:59:42

标签: backbone.js collections

API使用句柄集合的方式如下。让我们称之为用户:

  1. / users返回一组用户ID。然后,为了获得实际用户,您可以:
  2. / user / id
  3. 填充馆藏最具战略性的方法是什么?

    我正在考虑将集合url设置为/ users,然后在parse方法中调用/ user / id。

2 个答案:

答案 0 :(得分:0)

您通常会将模型集合相关联。

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将是在发出请求时附加到网址的最后一个参数。

答案 1 :(得分:0)

我认为您对使用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();