【问题标题】:backbone find on collection骨干在收藏中找到
【发布时间】:2013-08-03 16:12:50
【问题描述】:

我知道从单个属性中查找集合中模型的方法,

   var musketeers = friends.where({job: "Musketeer"});

但如果我想通过两个属性进行当代查找并返回一个结果? 我的想法是一次找到单个属性,然后连接两个结果:

   var name = friends.where({name: "stefano"});
   var surname = friends.where({surname: "maglione"});

连接后的结果。

我需要,因为我正在编写一个搜索功能来根据姓名和姓氏查找人。 但是还有一个问题:如果用户在姓名之前和姓氏之后插入,反之亦然?

【问题讨论】:

    标签: javascript backbone.js collections


    【解决方案1】:

    您也可以使用filter 方法来实现它

    var musketeers = friends.filter(function(friend) {
         return friend.get('job') === stefano' && friend.get('surname') === 'maglione';
    });
    

    【讨论】:

      【解决方案2】:

      Collection.where 实际上接受多个属性:

      哪里 collection.where(attributes)
      返回集合中与传递的属性匹配的所有模型的数组。
      对于filter 的简单情况很有用。

      你可以把你的请求写成

      var found = friends.where({
          name: "stefano",
          surname: "maglione"
      });
      

      请参阅http://jsfiddle.net/nikoshr/kuLYE/ 以获取演示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多