2012-07-14 57 views
2

我使用Tastypie爲我的REST風格的api和Backbonejs的前端。在fetch配車型工作正常,但是,與Backbone.Collection我似乎獲得錯誤的反應:Backbonejs集合返回錯誤的數據

_byCid: Object 
    _byId: Object 
    _callbacks: Object 
    _onModelEvent: function() { [native code] } 
    _removeReference: function() { [native code] } 
    length: 1 
    models: Array[1] 
     0: d 
     _callbacks: Object 
     _changed: false 
     _changing: false 
     _escapedAttributes: Object 
     _previousAttributes: Object 
     attributes: Object 
      cid: "c14" 
      collection: d 
       __proto__: o 
       length: 1 
       __proto__: Array[0] 
       __proto__: o 

下面是我收集:

define(
[ 
    'models/ad', 
], 
function(AdModel){ 
    return Backbone.Collection.extend({ 
     url: '/api/v1/ad', 
     model: AdModel, 

     initialize: function(){ 
      this.fetch({ 
       success: function(coll, resp){ 
        console.log(coll); 
       } 
      }); 
     } 
    }); 
} 

);

這裏是我的模型:

define(
[], 
function(){ 
    return Backbone.Model.extend({ 

    }); 
} 

);

+0

不知道你在找什麼...它似乎在創建一個集合並使用模型進行填充。你可以發佈原始數據'fetch'返回和你期望它做什麼? – 2012-07-15 02:02:42

+0

這似乎是與模型陣列填充它,這不是我應該期望從'集合',對不對?返回的數據中應該有一個集合屬性,對嗎?如何從控制檯btw複製原始數據? – 2012-07-15 08:30:21

回答

1

所有我必須改變的是我的Collection.parse方法。

define(
    [ 
    'models/ad', 
    ], 
function(AdModel){ 
    return Backbone.Collection.extend({ 
     url: '/api/v1/ad', 
     model: AdModel, 
     parse: function(data){ 
      return data.objects; 
     }, 
     initialize: function(){ 
     this.fetch({ 
      success: function(coll, resp){ 
       console.log(coll); 
      } 
     }); 
    } 
    }); 
} 

和一切工作正常。