, hej, knockout,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en række kaldes knockout koncist. begrebsmæssig overviewknockout observerbare fænomener, denne lektion er beregnet til en højtstående undersøgelse af knockout. det vigtigste komponenter.ved at gennemføre et konkret prøve anvendelse, kan vi se, hvor han er viewmodel, baggrund, observerbare fænomener, og bindinger interagere med henblik på at skabe et dynamisk brugergrænseflade.,,, for det første vil vi skabe en enkel html side for at holde alle vores kode, så vil vi definere en viewmodel objekt, afsløre nogle egenskaber, og endda tilføje en interaktive bindende, således at vi kan reagere på bruger klik.,, downloade knockout. js, før vi begynder at skrive en kode, så den seneste kopi af knockout.js fra sin side på github.com.som i dette skrift, den seneste version er 2.1.0.efter det, vi er klar til at tilføje biblioteket en html side.,, html, lad os starte med en standard html side.i den samme mappe, som din knockout.js bibliotek, skabe en ny filen., og tilføje følgende.Make sure to change knockout-2.1.0.js to the file name of the Knockout.js library you downloaded.,Sample code: item1.htm, <html lang='en'> <head> <title>Hello, Knockout.js</title> <meta charset='utf-8' /> <link rel='stylesheet' href='style.css' /> </head> <body> <h2> <p>Bill's Shopping Cart</p> <script src='knockout-2.1.0.js'></script> </body> </html>,This is a basic HTML 5 webpage that includes the Knockout.js library at the bottom of ,<body>,; although, like any external script, you can include it anywhere you want (inside ,<head>, is the other common option). den style.css stil blad er ikke nødvendig for nogen af eksempler i denne serie, men det vil gøre det meget lettere for øjnene.det kan ses i bilag a, eller downloades fra https://bitbucket.org/syncfusion/knockoutjs_succinctly.hvis du åbner den side i en webbrowser, skulle du se følgende:,, fig. 8: grundlæggende websted, som viewmodel, da vi arbejder ikke med nogen vedvarende data endnu, vi har ikke en model til at arbejde med.i stedet vil vi springe til viewmodel.indtil lektion 7:, vi er bare med henblik på viewmodel mønster.,, fig. 9: fokus på den opfattelse, og viewmodel for øjeblikket, kan du huske, en viewmodel er en ren javascript repræsentation af din model data.for at starte, vi bruger bare en indfødt javascript genstand som vores viewmodel.under < manuskript >, der omfatter knockout.js, tilføje følgende:, < manuskript > var personviewmodel = (firstname: "john", lastname: "smith"}; ko. applybindings (personviewmodel). < /manuskript > < /organ >, skaber dette en "person", der hedder john smith, og den ko. applybindings(), metode fortæller knockout.js at anvende den genstand, som viewmodel til side, selvfølgelig, hvis du lader den side, det stadig vil vise "bill indkøbsvogn." for knockout.js at ajourføre en holdning baseret på de viewmodel, vi er nødt til at binde en html element til, personviewmodel, objekt.,, bindende en html element, knockout.js bruger en særlig, data forpligte attribut til at binde html elementer til viewmodel.i stedet for bill på < p > tagfat med en tom < span > element, som følger:, < p > < span data binder ='text: firstname "> < /span > er indkøbsvogn < ///////p > værdien af de data, knockout.js binder attribut siger hvad udviser i element.i denne sag er den tekst, knockout.js bindende siger at udstille firstname ejendom af viewmodel.nu, når du lader den side, knockout.js vil erstatte indholdet af < span > med personviewmodel.firstname.som følge heraf, bør du se "john er indkøbsvogn" i din browser:,, figur 10: skærmbillede af vores første bundet på komponent, hvis du ændre data binder tilskriver tekst: lastname, vil det vise "smith er indkøbsvogn". som du kan se, bindende element er bare at definere en html skabelon for din viewmodel.,, observerbare egenskaber, så har vi en viewmodel, der kan vises i en html element, men se, hvad der sker, når man forsøger at ændre ejendom.efter ringer, ko. applybindings(), udpege en ny værdi for personviewmodel. firstname:, ko. applybindings (personviewmodel); personviewmodel.firstname = "ryan", knockout.js, vil ikke automatisk ajourføring af den opfattelse, og den side vil stadig læse "john er indkøbsvogn." det er, fordi vi ikke har afsløret, firstname, ejendomsret til knockout.js.de egenskaber, der skal knockout.js at spore skal være observerede.vi kan gøre vores viewmodel egenskaber observeres ved at ændre personviewmodel følgende:, var personviewmodel = (firstname: ko. observerbare ("john"), lastname: ko. observerbare ("smith")}, i stedet for direkte tildeling af værdier, firstname, og lastname, bruger vi ko. observable() til tilføje ejendomme til knockout. er "automatiske afhængighed stifinder.når vi ændrer firstname ejendom, knockout.js bør ajourføre html element til at matche:, ko. applybindings (personviewmodel); personviewmodel. firstname ("ryan"), adgang til observerbare fænomener, du har sikkert bemærket, at observerbare fænomener er funktioner, der ikke variabler.for at få værdien af en observerbar, kalder du det uden nogen argumenter, og at fastsætte værdien - - ud over den værdi, som argument.denne opførsel er følgende:,, at:, anvendelse i mål nr. firstname(), i stedet for obj.firstname, om:, anvendelse i mål nr. firstname ("mary"), i stedet for obj.firstname = "mary", tilpasning til de nye accessors kan være noget modintuitiv for begyndere til knockout.js.være meget forsigtige med ikke at komme til at tildele en værdi for en observerbar ejendom med =, operatør.dette vil træde i stedet for den observerede, at knockout.js stoppe automatisk ajourføring af betragtning., ved hjælp af skik genstande, vores generiske, personviewmodel, formål og dets observerbare egenskaber er fint for det enkle eksempel, men husk på, at viewmodels kan også fastlægge metoder til at interagere med deres data.af denne grund, viewmodels ofte er defineret som skik klasser i stedet for generiske javascript objekter.lad os gå videre og erstatte personviewmodel med brugerdefinerede objekt, funktion personviewmodel() {this.firstname = ko. observerbare ("john"); this.lastname = ko. observerbare ("smith");}; ko. applybindings (nye personviewmodel()), er dette den kanoniske måde at definere en viewmodel og aktivere knockout.js.nu kan vi tilføje en speciel metode, som så:, funktion personviewmodel() {this.firstname = ko. observerbare ("john"); this.lastname = ko. observerbare ("smith"); this.checkout = function() (varsling ("prøver at tjekke!");}}; ved at kombinere data og metoder i en enkelt objekt er et af kendetegnene for de mvvm mønster.det er en intuitiv måde at interagere med data.for eksempel, når du er klar til at se blot kalder den, checkout(), metode på viewmodel.knockout.js selv indeholder bindinger til det direkte fra lyset.,, interaktive bindinger, vores sidste skridt i denne lektion er at tilføje en kasse knap til, checkout(), metode, vi har defineret.det er en kort introduktion til knockout. det er interaktiv bindinger, men det indeholder nogle nyttige funktioner, som vi skal bruge i næste lektion.under < p > tag, tilføje følgende knap:, < knap data binder ='click: kassen "> kassen < /knap > i stedet for en tekst, bindende, der viser værdien af en ejendom, klik, bindende kalder en metode, hvor bruger klik element.i vores tilfælde, det kalder checkout() metode i vores viewmodel, og du skulle se en advarselsmeddelelse, pop op.,, figur 11: alarmmeddelelse oprettet efter at klikke dig knap, knockout. er "full suite af interaktive bindinger vil blive dækket i lektion 6:.,, smdrg., denne lektion gik gennem centrale aspekter af knockout.js.som vi har set, er der tre skridt til oprettelse af et knockout.js-based webapplikationen:,, at skabe en viewmodel genstand og registrering af det med knockout. det bindende en html element til en af de viewmodel egenskaber. ved hjælp af observerbare fænomener at afsløre egenskaber knockout.js,, du kan tænke på bindende opfattelse elementer til observerbare egenskaber som at bygge en html model for en javascript objekt.efter modellen er oprettet, kan du glemme alt om html og udelukkende fokusere på de viewmodel data bag anmodningen.det er hele pointen med knockout. js. i næste lektion, vil vi undersøge den reelle magt bag knockout. er "automatiske afhængighed sporingsenhed ved at skabe observerbare fænomener, som er afhængige af andre egenskaber, samt observerbare arrays til lister over data. denne lektion er et kapitel, knockout koncist,, fri ebook fra holdet på syncfusion.,,
hej, knockout
Previous:kontrol
Next Page:begrebsmæssige oversigt