0.0.1 • Published 9 years ago

vdom-component v0.0.1

Weekly downloads
1
License
MIT
Repository
-
Last release
9 years ago

vdom-component

Component framework built on virtual-dom.

STATUS: EXPERIMENTAL

Installation

npm i --save vdom-component

Usage

var h = require('virtual-dom/h');
var queue = require('vdom-render-queue');
var component = require('vdom-component');

// --- define the component ---

var App = {

  controller: {

    onInit: function() {
      this.state.count = 0;
    },

    onClick: function() {
      this.state.count++;
      this.props.render();
    }

  },

  view: function(ctl) {
    return h('div', [
      h('span', ['Clicked ', ctl.state.count, ' times!']),
      h('button', {onclick: ctl.onClick.bind(ctl)}, 'Increment')
    ]);
  }

};

// --- render the component ---

var render = queue(document.getElementById('app'), function() {
  return component(App, {render: render});
});

render();

API

controller

.onInit()

Called after the component state is initialised.

.onAttach(el)

Called after the component has been attached to the DOM.

.onDetach(el)

Called before the component has been removed from the DOM.

ToDo

  • JSX
  • plugin api for stuff like default props and state

License

The MIT License (MIT)

Copyright (c) 2015 James Newell