2011-12-01 248 views
6

我已經爲Users設置了一個骨幹網集合,當我執行fetch方法時,我從服務器獲取沿着以下線路的JSON對象:{"users": [{...}, {...}, ...], size: number}。令人困惑的是,當我執行下面的代碼,而不是獲取每個對象時,我得到一個「子」對象,其具有兩個:用戶大小;誰能幫我理解爲什麼?謝謝。迭代骨幹集合

display: function(){ 
    this.collection.each(function(user){ 
    console.log("main", user); 
    }); 
} 

回答

7

在集合添加一個方法叫做解析:

var collection = new Backbone.Collection({ 
    parse: function(response) { 
     return response.users; 
    } 
}); 
4

這對我來說非常有意義。看看JSON:它有兩個屬性:用戶大小。

你可能只是想遍歷collection.users

display: function(){ 
    this.collection.users.each(function(user){ 
    console.log("main", user); 
    }); 
} 

或者,剛分配到collection代替foo.usersfoo(其中foo是通過解析返回的JSON創建的對象)。