Satura rādītājs
Javascript ļauj mums izmantot asinhronus notikumus, ar kuriem mēs varam radīt darbības, tāpēc mums ir lieli panākumi tādu ietvaru izmantošanā kā jQuery kas var uzklausīt izmaiņas DOM kokā un izpildīt funkciju, kamēr pārējā lapa vēl darbojas.Tieša piekļuve
Pirms redzat, kā rīkoties modeļa izmaiņās, galvenais jēdziens, kas mums jārisina, ir tieša piekļuve atribūtiem, tas ir pateicoties atribūtam .atribūti kas ir modelī, no kura mēs pārmantojam, lai padarītu mūsējo.
SvarīgsVeicot vērtību piešķiršanu, izmantojot šo metodi, mēs izlaižam, ka tā tiek detonēta mūsu modelī un iet garām atribūts {kluss: true} visi tās notikumi ir pilnībā apklusināti.
Apskatīsim šādu piemēra kodu, uz kuru mēs atsaucamies:
Kā mēs varam redzēt piemērā, lietojot {kluss: taisnība} tas neatklāj izmaiņas mūsu modelī.
Klausieties modeļa izmaiņas
Mūsu modeļu izmaiņu uzklausīšana var būt ļoti noderīga, jo mēs varam veikt dažādas darbības, tādējādi piešķirot mūsu lietojumprogrammai lielāku dinamiku.
Nākamajā piemērā mēs drukāsim rindu, kas norāda katru reizi, kad mainās atribūts, un pēc tam metodē drukāsim atribūta vērtību palaist no modeļa, kurā iekļausim zvanu par metodi un mēs jums pastāstīsim, kas tas ir pasākumā mainīt kam vajadzētu darboties:
Izpildot šo kodu, mēs iegūsim rindu par katru modeļa maiņu un papildus sākotnējo rindu, kad modelis tiks inicializēts.
Redzēsim, ko mums dod rezultāts:
PALIELINĀT
Mēs redzam, ka mēs saņemam divas rindiņas, kurās teikts, ka modelis ir mainījies, šī summa sakrīt ar divām reizēm, kad mēs izmantojam metode ser () Lai modeļa atribūtiem piešķirtu vērtību, mēs redzam arī to, kā tika izdrukāta modeļa inicializācijas rinda.Klausieties izmaiņas noteiktā atribūtā
Šī opcija ļauj mums veikt darbību, mainoties konkrētam atribūtamAr to mēs varam sasniegt to, ka mēs varam virzīt dažādas darbības neatkarīgi no tā, vai mainās viens vai cits atribūts, ar to mēs sasniegsim daudz dinamiskāku notikumu neatkarību lietojumprogrammā.
Tālāk redzēsim, kā to izdarīt:
var Todo = Backbone.Model.extend ({// Noklusējuma atribūtu vērtību noklusējuma vērtības: {title: '', complete: ''}, initialize: function () {console.log ('Šis modelis ir inicializēts'); this.on ('change: title', function () {console.log ('Nosaukuma atribūta vērtība ir mainījusies.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var myTodo = jauns Todo (); // Abas formas izraisa izmaiņu notikumu: myTodo.set ('title', 'We are ievietojis sākotnējo nosaukumu.'); myTodo.setTitulo ('Mēs esam mainījuši nosaukumu.'); myTodo.set ('pabeigts', 'Neizraisa notikumu');
Nākamajā attēlā mēs varam redzēt, kā viss izskatās pēc iepriekšējā vingrinājuma koda izpildes:
PALIELINĀT
Mēs varam noteikt, ka tikai virsraksta atribūta maiņa izraisa notikumu, mainot pabeigto atribūtu, nekas nenotiek, un tāpēc konsole neko nedrukā.Šīs apmācības beigās mums jau ir daudz plašākas zināšanas par to, kā rīkoties ar dažādiem mūsu lietojumprogrammas notikumiem Backbone.js.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu