Heim >Web-Frontend >js-Tutorial >So implementieren Sie einfache Routerfunktionen in JS
Das Beispiel in diesem Artikel beschreibt, wie einfache Routerfunktionen in JS implementiert werden. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode lautet wie folgt:
var wawa = {}; wawa.Router = function(){ function Router(){ } Router.prototype.setup = function(routemap, defaultFunc){ var that = this, rule, func; this.routemap = []; this.defaultFunc = defaultFunc; for (var rule in routemap) { if (!routemap.hasOwnProperty(rule)) continue; that.routemap.push({ rule: new RegExp(rule, 'i'), func: routemap[rule] }); } }; Router.prototype.start = function(){ console.log(window.location.hash); var hash = location.hash, route, matchResult; for (var routeIndex in this.routemap){ route = this.routemap[routeIndex]; matchResult = hash.match(route.rule); if (matchResult){ route.func.apply(window, matchResult.slice(1)); return; } } this.defaultFunc(); }; return Router; }(); var router = new wawa.Router(); router.setup({ '#/list/(.*)/(.*)': function(cate, id){ console.log('list', cate, id); }, '#/show/(.*)': function(id){ console.log('show', id); } }, function(){ console.log('default router'); }); router.start();
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.
Weitere Artikel zu JS-Methoden zur Implementierung einfacher Routerfunktionen finden Sie auf der chinesischen PHP-Website!