2013-01-23 40 views
1

我有這樣Backbonejs搜索集合與模型對象默認

var myModel = Backbone.Model.extend({ 
    defaults: { 
     a: '', 
     b: '', 
     c: '' 
    } 
}); 

我收藏myCollection模型獲取與數據填充和c值對象的列表。

我想弄清楚如何在myCollection內查找一個值,以便它與我的模型c中的項目匹配,並在找到匹配項時返回該模型?

c的值是在收集類似

"c": {"1": {}, "2": {}, "3": {}} 

回答

1

使用find()函數對象,進行迭代,並返回一個符合您的條件的第一款車型。事情是這樣的:

result = myCollection.find(function (model) { 
    return model.get("c").indexOf(5) != -1; 
}); 

或者使用filter()而不是find(),來獲取通過狀態模型的所有

+0

非常感謝回覆。這將允許我例如在'c'中包含的對象列表中搜索「2」,然後返回該模型? – Andy

+0

是的,你會用類似下面的東西替換第二行:'return model.get(「c」)[「2」]!== undefined;' –

+0

再次感謝 - 我做了兩個場景的小提琴。仍然卡住了一下!愛任何幫助http://jsfiddle.net/M5Mse/1/ – Andy