2013-10-24 122 views
0

所以我有一個ID數組:骨幹:採用ID陣列採集模型並保存它們

var myIDs = [1,5,9];

我有一個集合,我想通過搜索,並從中採摘。我想我可以做類似如下:

var searchResults = myCollection.where({"uID" : myIDs});

當然這是行不通的,但必須有一個方式來實現類似的東西。

一旦我有選定的模型,計劃是編輯的內容,然後保存。我是否正確地假設我可以通過執行以下操作來保存整個批次?

myCollection.reset(searchResults);

我總的n00b到骨幹,效果顯着。

回答

2

您可以使用Collection.filter每個項目對陣列進行比較:

var searchResults = myCollection.filter(function(model) { 
    return myIDs.indexOf(model.id) != -1; 
}); 

(「去哪兒」就像是「過濾器」,具有特定的迭代器的一種特殊情況 - 它比較每個模型的屬性與你提供的哈希集。)

至於保存,如果你的意思是更換集合中的項目,那麼是的,你可以使用reset。 (請注意,「骨幹」術語中的「保存」通常意味着將模型更新同步回服務器。)

+0

太棒了!謝謝。是的,對不起,我的意思是,「重新設置收藏,並保存收藏。」來自像Cake這樣的MVC,你只需操作一個數組並保存它,Backbone就是一個範式轉換。 :) –