मैं एक परिभाषित मॉडल और एक संग्रह है:फ़िल्टर रीढ़ संग्रह
var Box = Backbone.Model.extend({
defaults: {
x: 0,
y: 0,
w: 1,
h: 1,
color: "black"
}
});
var Boxes = Backbone.Collection.extend({
model: Box
});
जब संग्रह मॉडलों के साथ से भर जाता है, मैं एक नया बक्से संग्रह बॉक्स मॉडल एक विशिष्ट रंग है से बाहर कर दिया की जरूरत है पूर्ण संग्रह में निहित विशेषता, मैं इसे इस तरह से करता हूं:
var sorted = boxes.groupBy(function(box) {
return box.get("color");
});
var red_boxes = _.first(_.values(_.pick(sorted, "red")));
var red_collection = new Boxes;
red_boxes.each(function(box){
red_collection.add(box);
});
console.log(red_collection);
यह काम करता है, लेकिन मुझे यह थोड़ा जटिल और अक्षम लगता है। क्या यह वही काम एक और आसान तरीके से करने का कोई तरीका है? http://jsfiddle.net/HB88W/1/
विल मॉडल में इस परिवर्तन सीआईडी देखते हैं? – janetsmith
फ़िल्टर द्वारा: फ़ंक्शन (विशेषता, मान) { फ़िल्टर किया गया = this.filter (फ़ंक्शन (बॉक्स) { वापसी बॉक्स.get (विशेषता) === मान; }); नए बॉक्स लौटें (फ़िल्टर); } – Josh
क्यों 'नए बॉक्स() 'वापस लौटें। बॉक्स, byColor: समारोह (रंग) { वापसी this.filter (समारोह (बॉक्स) { वापसी box.get ("रंग") = मैं वर बक्से = Backbone.Collection.extend ({ मॉडल लिखते थे == रंग; }); } }); – marcoslhc