Knockout combines some different ideas that open up very powerful possibilities:
Automatic dependency tracking:
At the heart of Knockout is a system of observable variables and other variables computed as functions of them.
By adding a data-* attribute (part of the HTML 5 spec, and works fine in older browsers, including IE 6) you can quickly bind appearance and behaviour in your HTML to properties on a view model.
When you have a rich structure of view model data to display, it makes sense to display it using a template to keep your code simple.
Maheshvishnu, if this helps please login to Mark As Answer. | Alert Moderator