hadijaveed / reactive-handlebars

A miniature library to update handlebars templates reactively.
7 stars 3 forks source link

reactive-handlebars

A miniature library to update handlebars templates reactively.

Handlebars is one of the most popular templating engines. Complicated UIs, data visualizations, and systems of calculations are examples of just a few problems where organising code becomes really hard while updating the templates on change.

See this Demo

Read this article

How can reactive-handlebars simplify your templates ?

Getting Started

Install

bower install reactive-handlebars
npm install reactive-handlebars

Dependencies

Usage

Counter Example

Initialise
let counter = new ReactiveHbs({
    container: '.mount',
    template: '#tpl',
    data: {
      count: 0
    }

});
Helpers
counter.helpers({
    multiplyByTwo() {
        return counter.get('count') * 2;
    }
});
Events
counter.events({
    'click [name="increment-count"]': (e, elm, tpl) => {
        tpl.set( 'count', tpl.get('count') + 1 );
    }
});
Observers
counter.reactOnChange('count', { throttle: 100 }, (tpl) => {
    console.log('count have been changed ', tpl.get('count'));
});

// turn the observer off when not needed
counter.stopReactOnChange('count');

Next Steps

Check out these examples in the wild