All Projects → yoshuawuyts → shared-component

yoshuawuyts / shared-component

Licence: MIT License
Share a component instance inside a window context

Programming Languages

javascript
184084 projects - #8 most used programming language

shared-component

npm version build status downloads js-standard-style

Share a component instance inside a window context. A component is created once, and cached so the same component is returned on all following calls.

Usage

var shared = require('shared-component')
var html = require('html')

shared.oncreate('header', function (header) {
  return header()
})

var header1 = shared.create('header', createHeader)
var header2 = shared.create('header', createHeader)

console.log(header1 === header2)
// => true

function createHeader () {
  return html`
    <header>I'm a header</header>
  `
}

API

shared.oncreate(name, [cb(create, name)])

Handle the creation of a new component. Only called the first time shared.create(name, create) is called with the matching name.

component = shared.create(name, create)

Create a component instance. If it's the first time that a component is created it calls the corresponding shared.oncreate(name, cb) method. Will return the initialized component on all subsequent calls.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].