BackboneJS - Collezione findWhere
Descrizione
È come il where metodo, ma restituisce direttamente solo il primo modello nella raccolta che corrisponde agli attributi passati.
Sintassi
collection.findWhere(attributes)
Parametri
attributes - Rappresentano la proprietà di un modello definito.
Esempio
<!DOCTYPE html>
<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 ({
//The model 'Players' is specified by overriding the "model" property of the collection
model: Players
});
$(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>
Produzione
Eseguiamo i seguenti passaggi per vedere come funziona il codice sopra:
Salva il codice sopra nel file findwhere.htm file.
Apri questo file HTML in un browser.