Backbone.js - Promjene u modelima

Sadržaj
Javascript omogućuje nam korištenje asinkronih događaja s kojima možemo generirati radnje, zbog toga imamo veliki uspjeh u korištenju okvira kao što su jQuery koji može osluškivati ​​promjenu u stablu DOM i izvršiti funkciju dok ostatak stranice još radi.
Direktni pristup
Prije nego što shvatimo kako postupati s promjenama unutar modela, ključni koncept s kojim se moramo nositi je izravan pristup atributima, to je zahvaljujući atributu .atributi koji je u modelu od kojeg nasljeđujemo da napravimo svoje.
VažnoPrilikom dodjeljivanja vrijednosti ovom metodom preskačemo da je detonirana u našem modelu i prilikom prolaska kroz atribut {silent: true} svi njegovi događaji potpuno su ušutkani.
Pogledajmo u sljedećem primjeru koda na koji se pozivamo:

Kao što možemo vidjeti u primjeru pri korištenju {silent: true} ne otkriva nikakve promjene u našem modelu.
Slušajte promjene u modelu
Slušanje promjena u našim modelima može biti vrlo korisno jer možemo izvesti različite radnje, dajući tako našoj aplikaciji više dinamike.
U sljedećem primjeru ispisat ćemo redak koji označava svaki put kada se atribut promijeni, zatim ćemo ispisati vrijednost atributa, za to u metodi inicijalizirati modela na koji ćemo uključiti poziv na metodu a mi ćemo vam reći o čemu se radi u slučaju promijeniti što bi trebalo raditi:

Izvršimo li ovaj kôd, dobit ćemo redak za svaku promjenu modela i dodatno početni redak kada se model inicijalizira.
Pogledajmo što nam rezultat daje:

POVEĆAJTE

Vidimo da dobivamo dva retka koji govore da se model promijenio, ovaj iznos se podudara s dva puta kada koristimo metoda ser () Da bismo dali vrijednost atributima modela, također vidimo kako je ispisana linija inicijalizacije modela.
Slušajte promjene određenog atributa
Ovaj opcija nam omogućuje izvršavanje radnje kada se određeni atribut promijeniOno što možemo postići ovim je da možemo usmjeravati različite radnje bez obzira na to mijenja li se jedan atribut, s time ćemo postići mnogo dinamičniju neovisnost o događajima u aplikaciji.
Pogledajmo u sljedećem kodu kako to možemo učiniti:
 var Todo = Backbone.Model.extend ({// Zadane vrijednosti atributa zadane vrijednosti: {title: '', dovršeno: ''}, initialize: function () {console.log ('Ovaj je model inicijaliziran'); this.on ('change: title', function () {console.log ('Vrijednost atributa naslova se promijenila.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var myTodo = novi Todo (); // Oba oblika pokreću događaj promjene: myTodo.set ('title', 'Postavili smo početni naslov.'); myTodo.setTitulo ('Promijenili smo naslov.'); myTodo.set ('dovršeno', 'Ne pokreće događaj'); 

Na sljedećoj slici možemo vidjeti kako sve izgleda nakon što izvršimo kôd iz prethodne vježbe:

POVEĆAJTE

Možemo popraviti da samo promjena naslovnog atributa pokreće događaj, pri promjeni dovršenog atributa ništa se ne događa i stoga ništa ne ispisuje konzola.
Na kraju ovog vodiča već imamo mnogo šire znanje o postupanju s različitim događajima naše aplikacije u Okosnica.js.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave