前端路由-JS實現
阿新 • • 發佈:2021-07-31
/* * 路由源於伺服器端的概念 * 路由在服務端是URL到控制器(處理函式的對映) * 路由在前端是URL到UI的對映 */ ;(function () { function Router(){ this.historyStack = []; // 記錄跳轉歷史 this.registerRouter = []; // 記錄已註冊的路由 this.defalutRouter = { path: '/', content: 'default page!' }; // 路由匹配失敗時的跳轉地址 } // 路由啟用 Router.prototype.init = function() { }; // 繫結 hashchange 事件的回撥函式 Router.prototype._bindEvents = function(){ } // 路由註冊方法 Router.prototype.add = function(path, content){ } // 判斷新增路由是否存在 Router.prototype.isHasRouter = function(path){ } // 路由不存在時的預設路由 Router.prototype.default = function(path, content){ } // 路由跳轉方法 Router.prototype.go = function(path){ } // 渲染對應路由資訊到頁面 Router.prototype.render = function(content){ } var router = new Router() window.$router = router; // 將介面暴露到全域性 })()