KnockoutJS
Šim rakstam ir nepieciešamas atsauces uz ārējiem avotiem. Lūdzu, palīdzi uzlabot šo rakstu, pievienojot vismaz vienu atsauci. Ja ir kādi ieteikumi, vari tos pievienot diskusijā. Vairāk lasi lietošanas pamācībā. Meklēt atsauces: "KnockoutJS" – ziņas · grāmatas · scholar · brīvi attēli |
Knockout.js ir JavaScript bibliotēka, kas realizē Model-View-ViewModel arhitektūru.
Knockout izstrādāja Microsoft darbinieks Stīvs Sandersons (Steve Sanderson). Tas tika izstrādāts un tiek uzturēts kā atvērtā pirmkoda projekts.
Īpatnības
labot šo sadaļu- Deklaratīvā sasaiste
- Mainoties datu modeļa stāvoklim notiek automātiska saskarnes atjaunošana
- Atkarību izsekošana
- Šablonu izmantošana (ir iespēja izmantot gan iebūvēto šablonu mehānismu, gan citus šablonu mehānismus, piemēram, tādu kā jquery.tmpl)
Vienkāršs piemērs
labot šo sadaļuŠajā piemērā divi ievades lauki ir piesaistīti datu modeļa novērojamajiem mainīgajiem (kodā katrs šāds mainīgais tiek definēts kā 'observable'). Savukārt pilnais vārds ("full name") ir piesaistīts atkarīgakam mainīgajam (angļu valodā — dependent observable, bet kodā — computed observable) un tā vērtība tiek izrēķināta. Tiklīdz ievades lauki tiek rediģēti, pilnais vārds automātiski mainās un tam nav nepieciešams pieasitīt paildus notikumu apstrādi.
Skats (HTML)
labot šo sadaļu<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
Skata Modelis (JavaScript)
labot šo sadaļufunction ViewModel() {
this.firstName = ko.observable("Joe");
this.lastName = ko.observable("Bloggs");
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
}
ko.applyBindings(new ViewModel());