BackboneJS collection.findWhere()方法

它类似于where 方法,直接返回集合中第一模型相匹配传递的属性。

语法

collection.findWhere(attributes)

参数:

  • attributes: 表示一个定义的模型的属性。

示例

<!DOCTYPE html>
   <head>
      <title>Collection Example</title>
         <script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" type="text/javascript"></script>
   </head>
   <body>
      <script type="text/javascript">
         //'Players' is a model name and containa default values
         var Players = Backbone.Model.extend({
            defaults: {
               id:"",
               name: "",
               country:""
            }
         });

         //The 'PlayersCollection' is an instance of the collection
         var PlayersCollection = Backbone.Collection.extend({
            model: Players   //The model 'Players' is specified by overriding the "model" property of the collection
         });
         $(function(){
            var mycollection = new PlayersCollection();

            // The set() method to sets the values for 'id', 'name' and 'country' attributes, specified in the model "Players"
            mycollection.set([{id:1, name: 'dhoni', country:'india'},
  	          {id:2, name:'gayle', country:'west indies'},
	          {id:3, name: 'maxwell', country:'australia'},
	          {id:4, name: 'duminy', country:'south africa'}
            ]);

            // The findWhere() method finds the model containing with the id '1'
            var res=mycollection.findWhere({id:1});

            //Display the result in  the JSON format
            document.write("The values of matched attribute are: ",JSON.stringify(res));
         });
      </script>
   </body>
</html>

输出

让我们进行以下步骤来看看上面的代码工作:

  • 保存上述代码在文件findwhere.html

  • 在浏览器打开这个HTML文件。