1

施設のバックボーン コレクションがあります。コレクションに関連付けられたモデルは、モデル Id 属性として FacilityCode を持つ施設です。

これで、配列に FacilityCode のリストができました。この配列に一致する FacilityCode を持つすべてのモデルでコレクションを作成する簡単な方法はありますか?

collection.get(id) 関数を使用して、モデルを 1 つずつ取得できます。しかし、一致するモデルのコレクションを返す ID の配列を渡すことができる関数を探しています。

4

1 に答える 1

3

フィルタは、この種のことに役立ちます。必要に応じて、コレクション オブジェクトの定義で適切にラップできます。

Facilities = Backbone.Collection.extend({

    // ...

    getAllForCodes: function(facilityCodes) {
        var models = this.filter(function(facility) {
            return (_.indexOf(facilityCodes, facility.get('FacilityCode')) !== -1);
        }); 
        return new Facilities(models);
    }

});

...そしてそれを使用して、施設コードの配列のすべての施設を取得します。

var myFacilities = facilities.getAllForCodes([1, 2, 3]);
于 2013-08-27T03:50:33.283 に答える