vue-router的hash和history模式
# vue-router的hash和history模式
vue-router 的路由有两种模式:
- hash模式
- history模式
# 区别:
hash模式url上有 # 号,history没有
刷新页面时,hash 模式可以正常加载到 hash 值对应的页面,而 history 没有处理的话,会返回 404,一般需要后端将所有页面都配置重定向到首页路由
兼容性,hash 可以支持低版本浏览器和 IE。
# 原理
hash: 通过监听 hashchange 事件可以知道 hash 发生了哪些变化,然后根据 hash 变化来实现更新页面部分内容的操作
history: 利用H5提供的 pushState 和 replaceState这两个 API 可以在改变 url,但是不会发送请求。这样就可以监听 url 变化来实现更新页面部分内容的操作