Backbone.js - Aggiornare le collezioni

Sommario
Nelle applicazioni che svolgiamo, alla fine avremo una massiccia gestione dei dati, se utilizziamo le conoscenze che abbiamo di Backbone.js Per lavorare con le collezioni, possiamo vedere che a un certo punto dovremo apportare modifiche massicce e renderle modello per modello all'interno della collezione non è efficace.
Per superare questi ostacoli ci sono modi e metodi all'interno Backbone.js con cui possiamo modificare o aggiornare e riportare tutti i modelli all'interno di una collezione a uno stato precedente, questa è una conoscenza molto utile se dobbiamo lavorare con processi che singolarmente possono innescare le prestazioni dell'applicazione.
Rinfrescare la collezione
Come abbiamo spiegato in precedenza, apportare modifiche massicce all'interno di una raccolta può essere utile, soprattutto quando lavoriamo con un volume molto grande di dati che possono apportare modifiche da modello a modello individualmente. influenziamo le prestazioni dell'applicazione.
Come fare questo cambiamento?Per fare questo cambiamento in maniera "massiccia" abbiamo il metodo .Ripristina (), questo metodo è applicabile alle raccolte, quindi dobbiamo prima inizializzare una raccolta prima di poterla utilizzare.
Vediamo nell'esempio seguente come creeremo una collezione e in base ad essa utilizzeremo il Metodo .reset():
 var AllCollection = new Backbone.Collection (); TodosCollection.add ([{id: 1, titolo: 'Vai in Germania.', Completato: false}, {id: 2, titolo: 'Vai in Colombia.', Completato: false}, {id: 3, titolo: 'Vai in Giappone.', Completato: vero}]); TodosCollection.on ("aggiungi", funzione (modello) {console.log ("Aggiunto" + model.get ('titolo'));}); TodosCollection.on ("rimuovi", funzione (modello) {console.log ("Rimosso" + model.get ('titolo'));}); TodosCollection.on ("modifica: completata", funzione (modello) {console.log ("Completato" + model.get ('titolo'));}); TodosCollection.set ([{id: 1, titolo: 'Vai in Germania.', Completato: vero}, {id: 2, titolo: 'Vai in Colombia.', Completato: falso}, {id: 4, titolo: 'Vai a Hong Kong.', Completato: false}]); TodosCollection.on ("reset", function () {console.log ("Raccolta aggiornata.");}); TodosCollection.reset ([{title: 'Vai in Canada.', Completed: false}]); 

Questo esempio è abbastanza utile, se guardiamo che abbiamo iniziato una nuova collezione, aggiungendo circa 3 modelli e stiamo ascoltando i 3 eventi di base: aggiungi, cambia ed elimina, ogni volta che si verifica uno di questi, faremo un'impressione usando console.log(), dopo aver finito di ascoltare gli eventi abbiamo realizzato un set, se realizziamo il set con un modello che non esiste viene semplicemente aggiunto, ma questo è il problema che vogliamo evitare.
Come evitare il problema?Per evitare il problema useremo il metodo di ripristino e per testare che funzioni abbiamo messo una funzione in ascolto se si verifica l'evento reset, in tal caso stamperemo un messaggio con console.log; Infine, eseguiamo un reset della raccolta, ovvero aggiorniamo il suo contenuto e definiamo immediatamente un nuovo modello, così facendo la raccolta cambierà completamente e vedremo che gli eventi precedenti di cui abbiamo parlato non dovrebbero essere attivati.
Vediamo nell'immagine seguente come rispettiamo tutto quanto descritto durante l'esecuzione del codice nella console per Javascript di Google Chrome:

Vediamo che quando si ripristina la raccolta, gli eventi dichiarati all'inizio dell'eliminazione o dell'aggiunta di modelli non vengono effettivamente attivati, questo perché stiamo aggiornando la raccolta, ovvero creandola come se fosse da 0.
Con questo abbiamo terminato il tutorial in cui abbiamo potuto vedere che l'aggiornamento di una raccolta è una procedura molto semplice che ben implementata può aiutarci a migliorare le prestazioni e la funzionalità delle nostre applicazioni utilizzando Backbone.js.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave