Backbone.js - Wijzigingen in modellen

Inhoudsopgave
Javascript stelt ons in staat om asynchrone gebeurtenissen te gebruiken waarmee we acties kunnen genereren, hierdoor hebben we veel succes in het gebruik van frameworks zoals jQuery die kan luisteren naar een verandering in de DOM-boom en een functie kan uitvoeren terwijl de rest van de pagina nog werkt.
Directe toegang
Voordat we zien hoe we met veranderingen binnen het model moeten omgaan, is een belangrijk concept dat we moeten hanteren directe toegang tot attributen, dit is te danken aan een attribuut .attributen dat is in het model waarvan we erven om het onze te maken.
BelangrijkBij het maken van een toewijzing van waarden met behulp van deze methode slaan we over dat deze in ons model tot ontploffing wordt gebracht en bij het passeren van de attribuut {stil: waar} al zijn gebeurtenissen zijn volledig tot zwijgen gebracht.
Laten we eens kijken in de volgende voorbeeldcode waarnaar we verwijzen:

Zoals we in het voorbeeld kunnen zien bij het gebruik van {stil: waar} het detecteert geen verandering in ons model.
Hoor veranderingen in het model
Luisteren naar veranderingen in onze modellen kan erg handig zijn omdat we verschillende acties kunnen uitvoeren, waardoor onze applicatie meer dynamiek krijgt.
In het volgende voorbeeld gaan we een regel afdrukken die aangeeft wanneer een attribuut verandert, dan gaan we de waarde van het attribuut afdrukken, hiervoor in de methode initialiseren van het model zullen we een oproep opnemen naar: op methode en we zullen je vertellen wat het is in het evenement verandering wat zou moeten werken:

Als we deze code uitvoeren, krijgen we een regel voor elke keer dat het model verandert en bovendien een eerste regel wanneer het model wordt geïnitialiseerd.
Laten we eens kijken wat het resultaat ons geeft:

VERGROTEN

We zien dat we twee regels krijgen die zeggen dat het model is veranderd, dit bedrag valt samen met de twee keer dat we de gebruiken methode ser () Om een ​​waarde te geven aan de attributen van het model, zien we ook hoe de initialisatieregel van het model werd afgedrukt.
Hoor wijzigingen in een bepaald kenmerk
Deze optie stelt ons in staat om een ​​actie uit te voeren wanneer een bepaald attribuut verandertWat we hiermee kunnen bereiken is dat we verschillende acties kunnen sturen of het ene attribuut verandert of het andere, hiermee bereiken we een veel dynamischere onafhankelijkheid van gebeurtenissen in de applicatie.
Laten we in de volgende code kijken hoe we dit kunnen doen:
 var Todo = Backbone.Model.extend ({// Standaard kenmerkwaarden standaard: {title: '', voltooid: ''}, initialize: function () {console.log ('Dit model is geïnitialiseerd'); this.on ('change: title', function () {console.log ('The title attribuut waarde is gewijzigd.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var mijnTodo = nieuwe Todo (); // Beide formulieren activeren de wijzigingsgebeurtenis: myTodo.set ('titel', 'We hebben een eerste titel geplaatst.'); myTodo.setTitulo ('We hebben de titel veranderd.'); myTodo.set ('voltooid', 'Activeert geen gebeurtenis'); 

In de volgende afbeelding kunnen we zien hoe alles eruit ziet nadat we de code van de vorige oefening hebben uitgevoerd:

VERGROTEN

We kunnen oplossen dat alleen de wijziging van het title-attribuut de gebeurtenis activeert, bij het wijzigen van het voltooide attribuut gebeurt er niets en daarom wordt er niets afgedrukt door de console.
Aan het einde van deze tutorial hebben we al een veel bredere kennis over de afhandeling van de verschillende gebeurtenissen van onze applicatie in 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
wave wave wave wave wave