jsはrouteルートを書きます.
1838 ワード
ルートの用途:H 5をする時、すべてのページを1枚のページの中で書くことができて、ルートを通して、あなたがクリックした後に現れるページを表示します.
ルートの実現の原理:windowは傍受関数を結び付けて、urlのhash値が変化する時hashchangeの逆転をトリガすることができて、コールバックの中で異なっている操作を行って、すぐにページを更新して、それによって異なっているページを表示します.
jsコードは以下の通りです
ルートの実現の原理:windowは傍受関数を結び付けて、urlのhash値が変化する時hashchangeの逆転をトリガすることができて、コールバックの中で異なっている操作を行って、すぐにページを更新して、それによって異なっているページを表示します.
jsコードは以下の通りです
// newRouter
class newRouter {
//
constructor() { //
this.routes = {};
this.currentUrl = '';
}
// hash,
refresh() {
this.currentUrl = location.hash.slice(1) || '/'; //location.hash #/setting /this.currentUrl /setting
this.routes[this.currentUrl] && this.routes[this.currentUrl](); //
}
//
init() { //
window.addEventListener('load', this.refresh.bind(this), false); // , this this
window.addEventListener('hashchange', this.refresh.bind(this), false);
}
// URL URL
route(path, callback = () => {}) {
this.routes[path] = callback;
}
}
// new Router
window.Router = new newRouter();
//
window.Router.init();
Router.route('/setting', () => {
document.querySelector(".wrap").style.display="none";
document.querySelector(".settingWrap").style.display="block";
});
Router.route('/back', () => {
document.querySelector(".wrap").style.display="block";
document.querySelector(".settingWrap").style.display="none";
});
htmlこれをクリックしてパスを り えます。 // wrap
これをクリックしてまたパスを り えます。 // settingWrap
でも、このルートは下に書いてあります.でないと、スタイルは変えられません.