In this tutorial you will get the basic knowledge of KnockoutJS and how to use on programming.
Basically it is a JavaScript library based on MVVM pattern i.e. Model-View-View-Model by which developer build rich and responsive websites.
It separates the application model, view and view model.
It supports most of browsers i.e. Firefox 3.5+, IE 6+, Opera, Chrome, Safari.
Steve Sanderson, a Microsoft employee on July5, 2010 developed KnockoutJS and maintained as a open source project.
Abbreviation for KnockoutJS is KO.
How to use:
Download production build of Knockout.js from:
http://knockoutjs.com/downloads/index.html
Read Also: KnockoutJS MVVM Application Framework
Now paste it in your webpage head tag as:
<script type=’text/javascript’ src=’knockout-3.3.0.js’></script>
or you can use KnockoutJS library from CDN:
<script src=”http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.1.0.js” type=”text/javascript”></script>
Lets look a simple example:
<!DOCTYPE html> <head> <title>About KnockoutJS</title> <!-- We have added the KnockoutJS library--> <script src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.1.0.js" type="text/javascript"></script> </head> <body> <!-- two input boxes First Name and Last Name initialized in model with "John" and "Doe" --> <p>First Name: <input data-bind="value: firstName" /></p> <p>Last Name: <input data-bind="value: lastName" /></p> <!-- get the value from model observable from input element --> <p>First Name: <strong data-bind="text: firstName">Hi</strong></p> <p>Second Name: <strong data-bind="text: lastName">There</strong></p> <p>Full Name: <strong data-bind="text: fullName"></strong></p> <script> function AppViewModel() { <!-- firstName and lastName refers to ViewModel variable. --> <!-- ko.observable keeps an eye on value changes for updating ViewModel data --> this.firstName = ko.observable("John"); this.lastName = ko.observable("Doe"); <!-- this is computed function in viewmodel which concat two variable --> this.fullName = ko.computed(function() { return this.firstName() + " " + this.lastName(); }, this); } ko.applyBindings(new AppViewModel()); </script> </body> </html>
In a world where digital presence is paramount, the question isn't whether you should do…
Over the years, people have experimented with various methods to maintain healthy and beautiful hair.…
Your brand more than developing an attractive and creative logo and infectious motto. It's the…
Introduction Are you someone who has suffered from a personal injury and want to file…
Operating from home has emerged as one of the most popular ways of doing jobs…
If the consequences of our society’s ever-growing debt are what worries you, then it is…