slim.js
Fast & Robust Front-End Micro-framework based on modern standards
...The slim.js core is tiny (less than 3kB gzipped) - It scans the HTML and looks for handlebars syntax. Anything inside is your code. It just executes it as functions in your component's scope, only when your properties change, and only for the relevant ones. slim.js is extensible. You can add your own custom directives to the registry with a simple API, or add global plugins that execute's your code on every step of a component's lifecycle.