router5
A starting guide to
Creating a router
import { Router5 } from 'router5';
const myRouter = new Router5();
Setting options
import { Router5 } from 'router5';
const myRouter = new Router5([], {
useHash: true,
defaultRoute: 'home'
});
// Alternative syntax
const myRouter = new Router()
.setOption('useHash', true)
.setOption('defaultRoute', 'home');
Configuring routes
import { Router5, RouteNode } from 'router5';
const myRouter = new Router()
.setOption('useHash', true)
.setOption('defaultRoute', 'home')
.addNode('home', '/home')
.addNode('contact', '/contact')
.addNode('admin', '/admin');
For alternative ways to configure routes: http://router5.github.io/docs/configuring-routes.htm
Protecting routes
import { Router5 } from 'router5';
const myRouter = new Router()
.setOption('useHash', true)
.setOption('defaultRoute', 'home')
.addNode('home', '/home')
.addNode('contact', '/contact')
.addNode('admin', '/admin', canActivateAdmin);
function canActivateAdmin() {
return true;
}
Add plugins
import { Router5 } from 'router5';
import { listenersPlugin } from 'router5-listeners';
import { historyPlugin } from 'router5-history'
const myRouter = new Router()
.setOption('useHash', true)
.setOption('defaultRoute', 'home')
.addNode('home', '/home')
.addNode('contact', '/contact')
.addNode('admin', '/admin', canActivateAdmin)
.usePlugin(listenersPlugin())
.usePlugin(historyPlugin());
Start your router
import { Router5 } from 'router5';
import { listenersPlugin } from 'router5-listeners';
import { historyPlugin } from 'router5-history'
const myRouter = new Router()
.setOption('useHash', true)
.setOption('defaultRoute', 'home')
.addNode('home', '/home')
.addNode('contact', '/contact')
.addNode('admin', '/admin', canActivateAdmin)
.usePlugin(listenersPlugin())
.usePlugin(historyPlugin())
.start();
export default myRouter;
Navigate to a route
import myRouter from './my-router';
const params = {};
const options = {replace: false, reload: false};
myRouter.navigate('admin', params, options, callback);
function callback(err, state) {
// state =>
// {
// name: 'admin',
// params: {},
// path: '/admin'
// }
}
Learn more
- Route deactivation
- Middleware
- Listeners
- ...
Router5 starting guide
By Thomas Roch
Router5 starting guide
- 1,143