0
点赞
收藏
分享

微信扫一扫

前端路由的原理

哈哈镜6567 2022-10-10 阅读 138


当hash部分修改,能触发hashchange事件。hashchange + 锚地 + innerHTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>

<a href="#/login">登录</a>
<a href="#/register">注册</a>
<a href="#/">Home</a>

<div id="app"></div>

<script>// 当hash部分修改,能触发hashchange事件
/*
window.addEventListener('hashchange', function(){
console.log(location.hash);
});
*/

// router
let app = document.querySelector('#app');
window.addEventListener('hashchange', function(){
router();
});

function router(){
switch (location.hash) {
case "#/login" :
app.innerHTML = '<h1>这是登录页面</h1>';
break;
case "#/register" :
app.innerHTML = '<h1>这是注册页面</h1>';
break;
default:
app.innerHTML = '<div>Welcome Home</div>';
break;
}
}

router();
</script>
</body>
</html>


举报

相关推荐

0 条评论