/**
* 简易路由
*/
var Router = {
// 路由初始
init: function () {
this.routes = {};
this.useRouter();
},
// 路由配置
route: function (path, cb) {
this.routes[path] = cb || function () {};
},
// 路由机制
refresh: function () {
try {
this.routes[location.hash.slice(1) || '/'](location.hash.slice(2));
}
catch (ex) {
throw new Error('route未配置 => \"' + (location.hash.slice(1) || '空URL') + '\"');
}
},
// 路由监听
useRouter: function () {
window.addEventListener('load', this.refresh.bind(this), false);
window.addEventListener('hashchange', this.refresh.bind(this), false);
}
};
Router.init();