3

コレクションでモデル属性を検索してから、モデル全体を取得して返すことを試みていますか?

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

私のコレクションには約100個のmyModelがあります。

コレクションを検索して見つけてから全体をa返そうとしているので、他の属性にアクセスできますか?myModela

4

1 に答える 1

13

私があなたの質問を正しく理解していれば、whereバックボーン コレクションでメソッドを使用したいと考えています。ドキュメントは次のとおりです。

http://backbonejs.org/#Collection-where

したがって、MyModels を含む myCollection という MyCollection のインスタンスがある場合、次のように言えます。

var foundModels = myCollection.where({a:'some value'});

探してfoundModelsいるモデルの配列が含まれます

ところで、より複雑な検索を行う場合は、filter代わりにメソッドを使用して、目的の一致で true を返す関数を最初の引数として渡します。

var modelsWhoseAStartsWithA = myCollection.filter(function(anyModel) {
    var startsWithA = new RegExp(/^[aA]/);
    return startsWithA.test(anyModel.get('a'));
});
于 2013-01-22T01:22:15.823 に答える