A simple and intuitive toolkit for applying MVVM data bindings to HTML5 applications and web pages. Supporting declarative bindings with templating as well as dependency tracking and automatic updates via data observers.

Download jsBind

Property Bindings

Connect data values to properties of document elements so that whenever the values change the document properties are updated automatically. Define bindings directly in HTML markup and never have to find an element by ID again. Bind CSS properties without having to handle browser prefixes.

Bind Lists

Generate multiple copies of document elements, each bound to items from a list of values. Automatically and efficiently update the UI whenever the contents of the list changes.

Handle Events

Connect events to event handlers on bound objects. Pass custom context arguments to event handlers. Use in conjunction with list binding to pass data items in the list back to command handlers.

Apply Templates

Build parts of the UI separately and bring them together at runtime. Dynamically choose the template to apply based on runtime data. Use the template system with list binding to repeat a template multiple times.

Designed for MVVM

Model View View-Model is a software architecture pattern that supports event driven programming while separating the concerns of the user interface presentation from the data model and business logic. MVVM provides a loose coupling between the UI and the model promoting greater flexibility, robustness, and reuse.