0.2.0 • Published 13 years ago

reactive-component v0.2.0

Weekly downloads
122
License
-
Repository
-
Last release
13 years ago

reactive

Reactive template engine similar to Rivets minus the coffee script, and Caustic which no longer exists.

Installation

$ component install component/reactive

Example

Simply invoke reactive() on the element to wish to become the "template" for obj. The given obj must emit "change" events passing (prop, val), the template will react to these changes.

var reactive = require('reactive');
reactive(el, obj);

You may also map custom callbacks for formatting or messing with an element based on a change. The element, value, and object itself are passed as arguments.

var reactive = require('reactive');
reactive(el, user, {
  birthdate: function(el, date, user){
    el.textContent = date.getFullYear() + '/' + date.getMonth() + '/' + date.getDate();
  }
});

Typically the callbacks would be a reference to the view itself, for example:

function ItemView(item) {
  this.item = item;
  this.el = tmpl.cloneNode(true);
  reactive(this.el, item, this);
}

ItemView.prototype = {
  filename: function(link, url){
    link.href = url;
    link.textContent = 'Download';
  },
  
  hasDownloads: function(){
    return !! this.item.filename;
  }
};

Todo

  • composition of smaller templates instead of conditionals etc..
  • defer .render() and use .change('birthdate', fn) instead of object-literal
  • moar docs / examples

License

MIT

0.13.2

12 years ago

0.13.1

12 years ago

0.13.0

12 years ago

0.12.3

12 years ago

0.12.2

12 years ago

0.12.1

12 years ago

0.12.0

12 years ago

0.11.0

12 years ago

0.10.1

12 years ago

0.10.0

12 years ago

0.9.0

13 years ago

0.8.0

13 years ago

0.7.1

13 years ago

0.7.0

13 years ago

0.6.1

13 years ago

0.6.0

13 years ago

0.5.0

13 years ago

0.4.0

13 years ago

0.3.0

13 years ago

0.2.2

13 years ago

0.2.1

13 years ago

0.2.0

13 years ago

0.1.0

13 years ago

0.0.1

13 years ago