3

我正在尝试在集合中搜索模型属性,然后抓取并返回整个模型?

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

我的收藏有大约 100 个 myModel。

我正在尝试搜索集合a,找到它然后返回整个集合myModela以便我可以访问其他属性?

4

1 回答 1

13

如果我正确理解您的问题,您想where在文档中使用 Backbone 集合的方法:

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

因此,给定一个名为 myCollection 的 MyCollection 实例,其中包含 MyModels,您可以说:

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 回答