Backbone.js - Modificări ale modelelor

Cuprins
Javascript ne permite să folosim evenimente asincrone cu care putem genera acțiuni, datorită acestui fapt avem un mare succes în utilizarea cadrelor precum jQuery care poate asculta o schimbare în arborele DOM și poate executa o funcție în timp ce restul paginii funcționează în continuare.
Acces direct
Înainte de a vedea cum să gestionăm modificările din cadrul modelului, un concept cheie pe care trebuie să îl gestionăm este accesul direct la atribute, asta datorită unui atribut .atribute care se află în modelul din care moștenim pentru a ne face al nostru.
ImportantAtunci când efectuăm o atribuire de valori folosind această metodă, omitem că aceasta este detonată în modelul nostru și când trecem atribut {silent: true} toate evenimentele sale sunt complet reduse la tăcere.
Să vedem în următorul exemplu de cod la care ne referim:

După cum putem vedea în exemplu atunci când se utilizează {tăcut: adevărat} nu detectează nicio modificare a modelului nostru.
Ascultați modificările din Model
Ascultarea modificărilor din modelele noastre poate fi foarte utilă, deoarece putem efectua diferite acțiuni, oferind astfel mai mult dinamism aplicației noastre.
În exemplul următor vom imprima o linie care indică de fiecare dată când se schimbă un atribut, apoi vom imprima valoarea atributului, pentru aceasta în metoda inițializați a modelului vom include un apel către pe metodă și vă vom spune ce este în eveniment Schimbare care ar trebui să funcționeze:

Dacă executăm acest cod, vom obține o linie de fiecare dată când modelul se schimbă și în plus o linie inițială atunci când modelul este inițializat.
Să vedem ce ne dă rezultatul:

MARI

Vedem că avem două linii care spun că modelul s-a schimbat, această sumă coincide cu cele două ori pe care le folosim metoda ser () Pentru a da o valoare atributelor modelului, vedem și cum a fost tipărită linia de inițializare a modelului.
Ascultați modificările unui anumit atribut
Acest opțiunea ne permite să executăm o acțiune atunci când un anumit atribut se schimbăCeea ce putem realiza cu acest lucru este că putem direcționa diferite acțiuni indiferent dacă un atribut se schimbă sau altul, cu aceasta vom obține o independență mult mai dinamică a evenimentelor din aplicație.
Să vedem în următorul cod cum putem face acest lucru:
 var Todo = Backbone.Model.extend ({// Valori implicite ale atributelor implicite: {title: '', completat: ''}, initialize: function () {console.log ('Acest model a fost inițializat'); this.on ('change: title', function () {console.log ('Valoarea atributului title s-a schimbat.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var myTodo = new Todo (); // Ambele forme declanșează evenimentul de schimbare: myTodo.set ('title', 'Am plasat un titlu inițial.'); myTodo.setTitulo („Am schimbat titlul.”); myTodo.set („completat”, „Nu declanșează evenimentul”); 

În imaginea următoare putem vedea cum arată totul după ce executăm codul din exercițiul anterior:

MARI

Putem remedia faptul că doar schimbarea atributului titlu declanșează evenimentul, atunci când schimbarea atributului completat nu se întâmplă nimic și, prin urmare, nimic nu este tipărit de consolă.
La sfârșitul acestui tutorial avem deja o cunoaștere mult mai largă cu privire la gestionarea diferitelor evenimente ale aplicației noastre în Backbone.js.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave