options
, convenzionalmente, è un oggetto javascript di coppie chiave/valore che forniscono dati/contesto/argomenti/configurazione a una chiamata di metodo. Pensalo come argomenti nominati, al contrario degli argomenti ordinati.
Ad esempio:
var makePerson = function(name, options) {
var person = {};
person.name = name;
person.age = options.age;
return person;
};
var me = makePerson('Alex', {age:30}); // In 3 days... scary :(
Come la funzione di essere chiamato utilizza questo oggetto, è fino a quella funzione.
La documentazione per backbone per Collection.initialize()
non sembra elencare quali chiavi sull'oggetto opzioni sono utilizzate o previste, il che è sfortunato. Quindi, senza guardare la fonte, non c'è modo di dirlo. Ma il tuo esempio sembra indicare che è prevista una chiave view
. Così si potrebbe chiamare in questo modo:
var friendsCollection = new Friends(userModels, {view: someBackboneView});
Questa è semplicemente una convenzione molte biblioteche tendono ad usare, e non c'è niente di speciale. Di solito, molte chiavi in un oggetto passato a una chiamata di funzione sono migliori di una funzione chiamata con molti argomenti, poiché ogni valore ha un'etichetta che rende chiaro a cosa serve ciascun valore.
Guardando un po 'più lontano, ora qui: http://documentcloud.github.com/backbone/docs/backbone.html#section-53
Sembra Collection.initialize()
accetta solo una singola chiave in esso è opzioni: comparator
. Qui è possibile definire una funzione utilizzata per ordinare i modelli della collezione: http://documentcloud.github.com/backbone/#Collection-comparator
di lavoro che nel tuo esempio, si potrebbe chiamare che in questo modo:
var friendsCollection = new Friends(userModels, {
view: someBackboneView,
comparator: function(friend) {
return friend.get('age');
}
});
Mi piace la tua risposta. Ho sicuramente imparato qualcosa da questo in modo +1, ma lo sto chiedendo nel contesto di Backbone.js.Non sono [le opzioni] che sto chiedendo, ma una "opzione" hard-coded da withback Backbone.js. Tuttavia, ottima risposta in un contesto diverso :) –
Modificato con ulteriori informazioni su come il backbone gestisce specificamente le opzioni in questo metodo. –
Beh, questo ha senso. Grazie per il tempo :) –