前端路由
前端路由主要分为两种模式:hash 和 history。
这两种模式都不会触发页面的刷新
Hash模式
hash模式就是用#号将路由的路径拼接在 url 后面,当#号后面的路径发生改变时,会触发 onhashchange 事件。
Hash 模式
History模式
- 监听路由
History模式提供了popstate事件。当 history 对象出现变化时,就会触发 popstate 事件。
- 改变路由
1) history.pushState(state,title,path)
- state: popstate 事件触发时,该对象会传入回调函数
- title:新页面的标题
- path:新的网址,必须与当前页面处在同一个域。浏览
2)history.replaceState(state,title,path)
用 history.pushState() 或者 history.replaceState() 不会触发 popstate 事件
History 模式