6.13.0 • Published 6 years ago

nanochoo v6.13.0

Weekly downloads
7
License
MIT
Repository
github
Last release
6 years ago

with npm

> npm install nanochoo

with

<script src='//unpkg.com/nanochoo/dist/bundle.min.js'></script>

Major and minor version numbers equate to choo's: choo@^7.0 == nanochoo@^7.0. Patch numbers don't!

Key differences

  • choo/html removed - use nanohtml (npm install nanohtml) directly
  • Removed router:
    • choo() no longer takes an opts argument
    • choo.route(location, handler) replaced by choo.view(handler)
    • pushState, popState, replaceState, navigate events removed
    • nanorouter, nanohref, scroll-to-anchor, nanolocation no longer dependencies
  • document-ready no longer a dependency
  • choo.toString not exported in the browser

See choo for documentation - just ignore routing-related things, use choo.view over choo.route, and you'll be fine.

Example

var html = require('nanohtml')
var choo = require('nanochoo')

var app = choo()
app.use(countStore)
app.view(mainView) // !!!
app.mount('body')

function mainView (state, emit) {
  return html`
    <body>
      <h1>count is ${state.count}</h1>
      <button onclick=${onclick}>Increment</button>
    </body>
  `

  function onclick () {
    emit('increment', 1)
  }
}

function countStore (state, emitter) {
  state.count = 0
  emitter.on('increment', function (count) {
    state.count += count
    emitter.emit('render')
  })
}

License

MIT. See choo