.render
var BtnComponent = function(el, num, allowIncrement) {
this.el = el;
this.num = num;
this.render();
if (allowIncrement) {
this.subscribeToClicks();
}
}
BtnComponent.prototype.render = function() {
this.el.innerHTML = '';
}
BtnComponent.prototype.subscribeToClicks = function() {
this.el.addEventListener('click', function() {
this.num = this.num + 1;
this.render();
}.bind(this));
}
var LsStore = function(prefix) {
this.prefix = prefix;
}
LsStore.prototype = {
getItem: function(key) {
return Promise.resolve(localStorage.getItem(this.prefix + '_' + key));
},
setItem: function(key, val) {
return Promise.resolve(localStorage.setItem(this.prefix + '_' + key, JSON.stringify(val)));
}
};
/* Page1Component , Page2Component , eventBus, Router, service1, service2 */
var router = new Router([
{ url: '/page1', onEnter: () => new Page1Component('.content', eventBus, service1) },
{ url: '/page2', onEnter: () => new Page2Component('.content', service2) }
], {
eventBus: eventBus
});