0.0.5 • Published 10 years ago

mithril-app v0.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

Build Status

Mithril-App

Composable apps for Mithril.js.

Create self contained mithril apps that can be nested into each other.

Usage

var m = require('mithril');
var mApp = require('mithril-app');

// set mithril's routing mode
m.route.mode = 'hash';

var main = mApp();

// add regular mithril components
main.use('/', {
  controller: function () {},
  view: function (ctrl) {
    return m('h1', 'Home');
  }
});

main.use('/greeting', {
  controller: function () {},
  view: function (ctrl) {
    return m('h1', 'Greetings earthlings');
  }
});

var dashboard = mApp();

dashboard.use('/dashboard', {
  controller: function () {},
  view: function (ctrl) {
    return m('h1', 'Dashboard');
  }
});

var user = mApp();

user.use('/account', {
  controller: function () {},
  view: function (ctrl) {
    return m('h1', 'My Account');
  }
});

// add other apps
main.use(dashboard);

// add other apps nested in a route
main.use('/user', user);

// now mount main app to DOM
main.mount(document.getElementById('app'));

You shoud now have the following routes:

  • / > Home
  • /greeting > Greetings earthlings
  • /dashboard > Dashboard
  • /user/account > My Account

Mounting multiple apps at once.

It's also possible to mount multiple apps with on use-call

app.use({
 '/': homepageComponent
 '/user': userApp
})

You can use either mithril components or other apps as values.

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago