An Event-driven and Component-based JavaScript Library for Building Web User Interfaces

Events & Bindings

Exact is event-driven firstly. So custom events are supported in Exact, besides DOM events.

Exact is data-driven based on custom property-changed events. Data binding expressions embedded in a component template are used for passing data in an intuitive way. They will work when some property-changed events are dispatched.

Elements + Components

Exact elements, which have attributes, classes, style and children, are shadows of DOM elements. An Exact component, as the enhanced edition of Exact element, supports template, property descriptors and so on.

When you update the shadow tree, Exact helps you render the dirty parts of a DOM tree in a batch mode asynchronously.

Declaration | Procedure

Usually you can declaratively define a rich template, which contains some binding expressions, for a component class. The once compiled template will be used for initializing a component.

Or sometimes you just need an empty template, then add some children, event handlers later (after initialization) in procedure.