Kas ir Knockout.js?
Knockout ir lieliska Javascrip bibliotēkaTas palīdz izveidot teksta bagātu lietotāja interfeisu ar labām attēlošanas un rediģēšanas iespējām, izmantojot tikai skaidru un tīru pamatā esošo datu modeli. Ikreiz, kad jūsu lokālais lietotāja interfeisa saturs ir jāatjaunina automātiski (piemēram, atkarībā no izmaiņām lietotāja uzvedībā vai ārējos datu avotos), KO var viegli ieviest un ļoti viegli uzturēt.
Svarīgas KO iezīmes:
Eleganta atkarību izsekošana — ikreiz, kad mainās datu avota modelis, tas var automātiski atjaunināt norādīto lietotāja interfeisa saturu. Deklaratīvā saistīšana — tā vienkāršā un vienkāršā veidā saista lietotāja interfeisu ar datu avota modeli, un jūs varat izmantot jebkuru ligzdotas struktūras veidni, lai izveidotu sarežģītu dinamisko interfeisu. Laba mērogojamība - pielāgotu uzvedību var ieviest ar dažām vienkāršām koda rindiņām, lai saistītu kā jaunu deklarāciju.
Citas priekšrocības:
Tīra Javascrip{filtering}t bibliotēka - saderīga ar jebkuru servera un klienta tehnoloģiju. To var labi piemērot esošajām lietojumprogrammām - bez nepieciešamības mainīt programmas galveno arhitektūru. Vienkāršība - tikai 13K pēc Gzip saspiešanas. Saderīgs ar jebkuru galveno pārlūkprogrammu (IE 6+, Firefox 2+, Chrome, Safari un citiem) Visaptverošs specifikāciju kopums (ar uzvedības virzītu attīstību) – tas nozīmē, ka tās var viegli pārbaudīt jaunās pārlūkprogrammās vai platformās. Izstrādātāji, kas pārzina Ruby on Rails, Asp.net MVC vai citas MVC tehnoloģijas, var uzskatīt, ka tā ir MVC reāllaika forma ar deklaratīvu sintaksi. Citiem vārdiem sakot, jūs varat domāt par KO kā veidu, kā izveidot lietotāja interfeisu, rediģējot JSON datus ... Neatkarīgi no tā, ko tas dara jūsu labā.
Kā to lietot?
Ātrākais un jautrākais veids, kā sākt darbu, ir interaktīvas instrukcijas, un, kad esat apguvis visvienkāršākās metodes un apguvis katru tiešsaistes instanci, būsiet gatavs strādāt pie saviem projektiem.
Vai KO un Jquery (prototips utt.) konkurē savā starpā vai tos var izmantot kopā?
Visi mīl Jquery! Agrāk mums bija jāiztur dažādas nekonsekventas DOM objektu manipulācijas API metodes, un Jquery parādīšanās ir lieliska alternatīva pagātnes neveiklajiem ietvariem, padarot to elastīgu un viegli lietojamu. Jquery ir lielisks un viegli lietojams tīmekļa lapas elementu manipulācijām un notikumu apstrādei, savukārt KO atrisina citu problēmu.
Ja jūsu lietotāja interfeiss ir nedaudz sarežģītāks un satur dažas no tām pašām darbībām, ja izmantojat tikai Jquery, lietotāja interfeiss būs sarežģītāks un grūtāks, nekā jūs domājat, un tā uzturēšana būs diezgan dārga. Apsveriet piemēru, kā tabulā tiek parādīts vienumu saraksts, norādīts sarakstu skaits tabulā un iespējota poga "Pievienot", ja vienumu sarakstu skaits ir mazāks par 5, citādi atspējots. Jquery nav pamata datu modeļa koncepcijas, tāpēc, ja vēlaties iegūt projektu sarakstu skaitu, jums ir jāizsecina no tabulas / tr / div numuriem. Ja jums ir nepieciešams parādīt datu apjomu noteiktos SPANS, jums jāatceras arī atjaunināt SPAN tekstu, pievienojot jaunus datus. Protams, jums arī jāatceras, ka, ja kopējais skaits >=5, jums ir jāatspējo poga Pievienot. Tad, ja vēlaties ieviest funkciju Dzēst, jums jānorāda, kurš DOM elements ir jāmaina pēc noklikšķināšanas.
Kā tas atšķiras no Knockout?
Ar KO viss kļūst ļoti vienkārši. Tas ļauj viegli mērogot projekta sarežģītību, neuztraucoties par iegūtajām datu neatbilstībām. Tas vienkārši pārvērš jūsu datus par Javascrip{filter}t masīvu un pēc tam izmanto foreach, lai saistītu datu masīvu ar tabulu vai div kopu lapā. Ikreiz, kad mainās datu masīvs, lietotāja interfeiss automātiski reaģē uz izmaiņām (nav jānorāda, kā vai kur ievietot jaunu rindu), un pārējais ir lietotāja interfeisa datu sinhronizācija. Piemēram, varat deklarēt šādu SPAN, lai parādītu datu apjomu:
Tas ir viss! Lai to atjauninātu, jums nav jāraksta kods, tā atjaunināšana ir atkarīga no izmaiņām masīvā myItems. Līdzīgi pogas Pievienot iespējošana un atspējošana ir atkarīga no masīva myItems garuma, šādi:
Pēc tam, ja jums ir jāievieš funkcija "Dzēst", jums nav jānorāda, kā manipulēt ar lietotāja interfeisa elementiem, jums vienkārši jāmaina datu modelis.
Kopsavilkums: KO neplāno konkurēt ar jQuery un citiem līdzīgiem DOM manipulācijas ietvariem. KO nodrošina augsta līmeņa veidu, kā korelēt datu modeli ar lietotāja lietotāja interfeisu.KO nav atkarīgs no paša jQuery, bet jQuery var izmantot kopā, Spilgtām un maigām lietotāja interfeisa izmaiņām ir jāizmanto jQuery.
Resursu:
http://www.aizhengli.com/knockoutjs/50/knockout.html
http://knockoutjs.com/
|