本文概述
Backbone.js集合的findWhere方法与where方法相同,但是它仅返回集合中与传递的属性匹配的第一个模型。
句法:
collection.findWhere(attributes)
参数说明
attribute:指定已定义模型的属性。
让我们以一个示例来部署findWhere方法。
请参阅以下示例:
<!DOCTYPE html>
<head>
<title>findWhere 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 contain 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: 'Sachin', country:'India'}, {id:2, name:'Jaysurya', country:'Sri Lanka'}, {id:3, name: 'Maxwell', country:'Australia'}, {id:4, name: 'Steve', country:'Australia'}
]);
// 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文件中,然后在新的浏览器中打开该文件。
评论前必须登录!
注册