Backbone.js - Ændringer i modeller

Indholdsfortegnelse
Javascript giver os mulighed for at bruge asynkrone begivenheder, som vi kan generere handlinger med, på grund af dette har vi stor succes med brugen af ​​rammer som f.eks. jQuery som kan lytte efter en ændring i DOM -træet og udføre en funktion, mens resten af ​​siden stadig fungerer.
Direkte adgang
Inden vi ser, hvordan vi håndterer ændringer inden for modellen, er et centralt begreb, vi skal håndtere, direkte adgang til attributter, dette er takket være en attribut .egenskaber som er i modellen, som vi arver for at gøre vores til.
VigtigNår vi tildeler værdier ved hjælp af denne metode, springer vi over, at den er detoneret i vores model, og når den passeres attribut {silent: true} alle dens begivenheder er fuldstændig tavse.
Lad os se i følgende eksempelkode, som vi refererer til:

Som vi kan se i eksemplet, når vi bruger {stille: sand} det registrerer ikke nogen ændring i vores model.
Hør ændringer i modellen
Det kan være meget nyttigt at lytte til ændringer i vores modeller, da vi kan udføre forskellige handlinger og dermed give vores applikation mere dynamik.
I det følgende eksempel vil vi udskrive en linje, der angiver hver gang en attribut ændres, derefter vil vi udskrive værdien af ​​attributten, for dette i metoden initialisere af modellen vil vi inkludere et opkald til på metode og vi vil fortælle dig, hvad det er i arrangementet lave om som skal fungere:

Hvis vi udfører denne kode, får vi en linje for hver gang modellen ændres og derudover en første linje, når modellen initialiseres.
Lad os se, hvad resultatet giver os:

FORSTØRRE

Vi ser, at vi får to linjer, der siger, at modellen er ændret, dette beløb falder sammen med de to gange, vi bruger metode ser () For at give en værdi til modellens attributter ser vi også, hvordan modelinitialiseringslinjen blev udskrevet.
Hør ændringer i en bestemt attribut
Dette option giver os mulighed for at udføre en handling, når en bestemt attribut ændresHvad vi kan opnå med dette er, at vi kan styre forskellige handlinger, uanset om en attribut ændrer sig eller en anden, med dette vil vi opnå en meget mere dynamisk uafhængighed af begivenheder i applikationen.
Lad os se i følgende kode, hvordan vi kan gøre dette:
 var Todo = Backbone.Model.extend ({// Standardattributværdier standardindstillinger: {title: '', complete: ''}, initialize: function () {console.log ('Denne model er initialiseret'); this.on ('change: title', function () {console.log ('Titelattributværdien er ændret.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var myTodo = ny Todo (); // Begge formularer udløser ændringshændelsen: myTodo.set ('titel', 'Vi har placeret en indledende titel.'); myTodo.setTitulo ('Vi har ændret titlen.'); myTodo.set ('fuldført', 'Udløser ikke hændelse'); 

I det følgende billede kan vi se, hvordan alt ser ud, efter at vi har udført koden fra den forrige øvelse:

FORSTØRRE

Vi kan rette op på, at kun ændringen af ​​titelattributten udløser hændelsen, når der ændres den færdige attribut sker der ikke noget, og der udskrives derfor intet af konsollen.
I slutningen af ​​denne vejledning har vi allerede en meget bredere viden om håndteringen af ​​de forskellige hændelser i vores applikation i Backbone.js.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave