Inhoudsopgave
In de toepassingen die we uitvoeren, zullen we uiteindelijk massaal databeheer hebben, als we de kennis gebruiken die we hebben Backbone.js Om met collecties te werken, kunnen we zien dat we op een gegeven moment enorme wijzigingen moeten aanbrengen en ze model voor model binnen de collectie maken is niet effectief.Om deze obstakels te overwinnen zijn er manieren en methoden binnen Backbone.js waarmee we kunnen wijzigen of vernieuwen en alle modellen binnen een collectie naar een eerdere staat te brengen, dit is zeer nuttige kennis als we moeten werken met processen die individueel de prestaties van de applicatie kunnen triggeren.
De collectie vernieuwen
Zoals we eerder hebben uitgelegd, is het maken van een enorme verandering binnen een verzameling iets dat nuttig kan zijn, vooral wanneer we werken met een zeer grote hoeveelheid gegevens die de verandering van model naar model individueel kunnen maken. we beïnvloeden de prestaties van de applicatie.
Hoe deze wijziging door te voeren?Om deze verandering op een "massieve" manier aan te brengen, hebben we de methode: .reset (), deze methode is van toepassing op verzamelingen, dus we moeten een verzameling eerst initialiseren voordat we deze kunnen gebruiken.
Laten we in het volgende voorbeeld zien hoe we een verzameling zullen maken en op basis daarvan zullen we de . gebruiken .reset () methode:
var AllCollection = nieuwe Backbone.Collection (); TodosCollection.add ([{id: 1, titel: 'Ga naar Duitsland.', Voltooid: false}, {id: 2, titel: 'Ga naar Colombia.', Voltooid: false}, {id: 3, titel: 'Ga naar Japan.', Voltooid: true}]); TodosCollection.on ("toevoegen", functie (model) {console.log ("Toegevoegd" + model.get ('titel'));}); TodosCollection.on ("verwijderen", functie (model) {console.log ("Verwijderd" + model.get ('titel'));}); TodosCollection.on ("wijziging: voltooid", functie (model) {console.log ("Voltooid" + model.get ('titel'));}); TodosCollection.set ([{id: 1, titel: 'Ga naar Duitsland.', Voltooid: true}, {id: 2, titel: 'Ga naar Colombia.', Voltooid: false}, {id: 4, titel: 'Ga naar Hong Kong.', Voltooid: false}]); TodosCollection.on ("reset", functie () {console.log ("Vernieuwde verzameling.");}); TodosCollection.reset ([{title: 'Ga naar Canada.', Voltooid: false}]);
Dit voorbeeld is heel handig, als we kijken, zijn we een nieuwe collectie begonnen, hebben we ongeveer 3 modellen toegevoegd en luisteren we naar de 3 basisgebeurtenissen: toevoegen, wijzigen en verwijderen, elke keer dat een van deze zich voordoet, gaan we een indruk maken met console.log (), nadat we klaar zijn met het luisteren naar gebeurtenissen hebben we een set gemaakt, als we de set maken met een model dat niet bestaat, wordt het gewoon toegevoegd, maar dit is het probleem dat we willen vermijden.
Hoe het probleem te vermijden?Om het probleem te voorkomen, gebruiken we de reset methode: en om te testen of het werkt, hebben we een functie geplaatst om te luisteren als de reset-gebeurtenis plaatsvindt, als dat zo is, zullen we een bericht afdrukken met console.log; Ten slotte doen we een reset van de collectie, dat wil zeggen, we vernieuwen de inhoud en definiëren onmiddellijk een nieuw model, hierdoor zal de collectie volledig veranderen en zullen we zien dat de eerdere evenementen die we noemden niet geactiveerd zouden moeten worden.
Laten we in de volgende afbeelding zien hoe we voldoen aan alles wat is beschreven bij het uitvoeren van de code in de console om Javascript van Google Chrome:
We zien dat bij het resetten van de verzameling de gebeurtenissen die zijn gedeclareerd in het begin van het elimineren van modellen of toevoegen, niet effectief worden geactiveerd, dit komt omdat we de verzameling vernieuwen, dat wil zeggen, het creëren alsof het vanaf 0 is.
Hiermee hebben we de tutorial voltooid waarin we konden zien dat het vernieuwen van een verzameling een zeer eenvoudige procedure is die goed geïmplementeerd kan worden en ons kan helpen de prestaties en functionaliteit van onze applicaties te verbeteren met behulp van Backbone.js.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven