Implementazione di Backbone.Subset.js in Backbone.js per filtrare i templates da una collezione padre

In questo post di stackoverflow ho letto circa filtrare le raccolte di spina dorsali e utilizzando i sottoinsiemi.

Una risposta (con slitta) consiglia di utilizzare backbone.subset.js ( esempio di utilizzo ).

Non sono riuscito a trovare ulteriori risorse su backbone.subset.js e non l'ho implementata nel mio progetto.

Sembra che backbone.subset.js sia la soluzione perfetta per quello che sto cercando di realizzare.

(Avere una collezione "padre" che tiene tutti i templates in qualsiasi momento e dipende dall'input dell'utente che filtra i templates rilevanti dalla collezione padre in una raccolta backbone.subset.)

La mia collezione "padre", che tiene tutte le attività:

var TasksAll = Backbone.Collection.extend({ url: '/tasks', // the REST url to retrieve collection data model: Task // the models of which the collection consists of }); var allTasks = new TasksAll(); 

Ora voglio creare una collezione di sottoinsieme per es. Compiti where task.status = 0:

 var TasksTrash = new Backbone.Subset({ superset: allTasks, filter: function(Task) { return Task.isTrash(); } }); var trashTasks = new TasksTrash(); 

Mentre all'interno del model di attività, il metodo "isTrash" restituisce true se:

 this.get('status') == 0 

a) Esistono altre risorse su backbone.subset.js?

b) Come implemento lo scenario sopra?

c) Posso passare le opzioni "superset" e "filter" come params alla function Backbone.Subset init?

d) Ho esaminato il codice backbone.subset.js, quando ho reimpostato la mia collezione di generi, le mie collezioni di sottoinsieme dovrebbero essere aggiornate subito, giusto?

PS: Sono abbastanza nuovo di Backbone. Grazie per l'aiuto.

Guardando all'origine del sottosettore backbone, sembra che ci sia un hook di pre-initialization che potresti utilizzare per rendere disponibile il "setaccio" o il filter come opzione o argomento:

https://github.com/masylum/Backbone.Subset/blob/master/backbone.subset.js#L50

Per quanto riguarda la fornitura del genitore come argomento, c'è una patch eccezionale per aggiungere quella funzionalità esatta:

https://github.com/masylum/Backbone.Subset/pull/5

Con esso, è ansible passare in genitore come opzione, se non è un'opzione che la libreria rientrerà a cercarla sull'object Prototype