前端路由

122 阅读1分钟

目前所说的路由基本都是前端路由。 前端路由是指通过一定的规则匹配路径,在不刷新的情况下更新渲染页面部分内容。

前端路由有两种实现方式:一种是hash路由,另一种是history路由。

hash

在 HTML5 的 history 新特性出现前,基本都是使用监听 hash 值来实现前端路由的。

hash 值更新的特点

  • hash值的改变不会触发网页的重新加载
  • 改变hash值会更改浏览器的历史记录
  • 改变 hash 值会触发 window.onhashchange() 事件

而改变 hash 值的方式有 3 种:

  • a 标签使锚点值变化,例:
  • 通过设置 window.location.hash 的值
  • 浏览器前进键(history.forword())、后退键(history.back())

在history的pushState、replaceState、onpopState的新特性出来后,才可以实现现在的history路由。