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:
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:
Lad os se, hvad resultatet giver os:
FORSTØRRE
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
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