Introduction to KnockoutJS
KO is the abbreviated name of Knockout. The KO library file is small and light-weight.
HTML, CSS, JAVA SCRIPT, DOCUMENT OBJECT MODEL(DOM), TEXT EDITOR (any).
- Trivially Extensible – Extends Custom Behavior easily.
- Dependency Tracking – Relation between KO Attributes and library functions is transparent.
- Declarative Binding – DOM Elements are connected to the model through Data-Bind Attribute.
It allows us to bind the HTML Elements of UI to any Data Model. (Usually, Responsiveness is achieved
- Automatic UI Refresh – Changes made to View the model data is reflected in UI automatically and
- It is very Compact and is around 13KB after zipping.
- Works on Mainstream Browser.
Let us consider a Basic program:
Discussion for the Program:
We have an input box: What is your Name. This variable is initialized with value What is your Name View Model, i.e.,
First Line indicates that we are inputting data using the data-bind attribute, i.e. we are using HTML controls, to make the data editable but this won’t update the data at the time of showing Name on Screen.
Second Line is just printing Name on the Screen, this is how we are binding values from View Model to HTML elements using ‘data-bind’ attribute in the body section. Here, ‘Name’ refers to the View Model variable.
First Line is just a name to a function (This is how functions are written).
The Third Line is assigning to View Model properties.
The fifth Line is the binding View Model to View.
SETTING UP THE ENVIRONMENT:
How to Access KnockoutJS:
1. Download Production Build of KnockoutJs from its official Website: https://knockoutjs.com/downloads/
2. Refer to KnockoutJS library from CDNS
3. Refer to the minified version of the KnockoutJS library from CDNS.
- Feasible to connect anytime with the UI elements in the data model.
- Ensures application of business rules, data security and more control on the webpage.
- Offers referential integrity and many validation features in regard to the workflow for additional
- Supports event-driven programming model and offers 100% customization.
- Create complex and dynamic data models with ease.
- Knockout is only for two-way data-binding, automatic UI refresh as data change, this means that we
need another library or tool for other needs, such as hash-based routing, UI components and so on.
- Hard to use templates that exist on external files, this would make developers hard to co-work.My Personal Notes arrow_drop_up