history模式的pushState方法实现了点击页面路由的自切换。

点击create之后,注意观察路由变化

点击home之后,注意观察路由变化

index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 id="app"></h1>
<div id="create" style="color: red">create</div>
<div id="home" style="color: blue">home</div>
</body>
<script src="home.js"></script>
</html>
home.js
const handleChange = (url,content)=>{
window.history.pushState(null,"欢迎使用本test",url)
if (!content){
content = '我是app啊'
}
document.getElementById('app').innerHTML=`${content}`
}
handleChange();
document.getElementById('create').addEventListener('click',(e)=>{
e.preventDefault()
handleChange('create.html','create')
})
document.getElementById('home').addEventListener('click',(e)=>{
e.preventDefault()
handleChange('home.html','home')
})
SPA优点:
- 速度快,第一次下载完成静态文件,跳转不需要再次下载
- 体验好,趋于无缝交互