h5小页面 (function (win, doc) { "use strict"; function Router(option) { this.routes = option.routes; this.viewHandle = option.viewHandle; this.currentUrl = ''; this.v = {}; this._init(); } Router.prototype._binEvent = function () { win.a
(function (win, doc) {
"use strict";
function Router(option) {
this.routes = option.routes;
this.viewHandle = option.viewHandle;
this.currentUrl = '';
this.v = {};
this._init();
}
Router.prototype._binEvent = function () {
win.addEventListener('DOMContentLoaded', this.refresh.bind(this), false);
win.addEventListener('hashchange', this.refresh.bind(this), false);
};
Router.prototype.refresh = function () {
var hash = win.location.hash;
if (!hash) {
win.location.hash = '/';
return;
}
this.currentUrl = hash.match(/#([\/\w]*)/)[1];
var mothod = this.routes[this.currentUrl];
if (mothod) {
this.viewHandle(mothod);
}
};
Router.prototype._init = function () {
this._binEvent();
};
Router.prototype.go = function (path, data) {
win.location.hash = path;
this.v.data = data;
}
win.Router = Router;
})(window, document);
