I've spent just a few minutes looking at what Knockout.js purports to do, and I have to say - if it works (and from what I hear, it does), it's immediately going into the toolbox.
- Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes
- Declarative bindings - a simple and obvious way to connect parts of your UI to your data model
- Flexible and sophisticated templating - construct a complex dynamic UI easily using arbitrarily nested templates
- Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code
-- Knockout.js Tutorial
Go, download, and play - you'll be glad you did: http://knockoutjs.com/