We are currently using Kendo UI and its integrated MVVM framework to control the forms in our application on the client side (e.g. input validation, disabling/enabling form fields based on conditions). As we hit some limitations of the Kendo MVVM framework, we plan to switch to Knockout/Knockout-Kendo.js.
As our forms are highly dynamic, one critical feature for us are Kendo MVVM’s nested bindings. They allow us to monitor fields of dynamically composed forms which aren’t known up-front:
http://docs.kendoui.com/getting-started/framework/mvvm/overview#bindings
Looking at the knockout.js docs, I couldn’t find an equivalent there. How can I emulate a similar api in knockout.js?
Generally, you would use the with or if binding to handle nested structures. This can also be done with the template binding. In fact, you can even dynamically choose which template to use by doing something like this.
For your situation, using a dynamic template name seems like it might be appropriate. You would create templates for the various “types” of forms that you are dealing with and then use the item’s “type” to determine which template to use. Here is a link to an article that I wrote when the feature first was added to KO: http://www.knockmeout.net/2011/03/quick-tip-dynamically-changing.html.