This tutorial by Ryan Niemeyer provides you with what you need to know to get started with Knockout.js ands shows you how well it integrates with other libraries and technologies. Keeping a user interface in sync with the underlying data normally involves wiring up a number of event handlers to broker information between the various elements and the data whenever any actions are performed by a user or when new data is loaded.
Knockout.js enables you to use declarative bindings in your markup to connect your UI and data easily. In many cases, your elements will no longer need ids and classes, except when used in styling. Knockout’s bindings are specified in data-bind attributes on individual elements.
Knockout.js enables you to use the MVVM (Model-View-ViewModel) pattern for structuring user interfaces. This pattern describes how you can manage complex functionality by keeping clean separation between several distinct layers.
Read the complete tutorial on http://www.adobe.com/devnet/html5/articles/getting-started-with-knockoutjs.html
Additional Knockout.js knowledge can be found on the on-line Knockout tutorials.