vue-router的实现原理

209 阅读1分钟

一:前端路由的俩种实现方式

Hash模式

     url哈希值只是客户端的一种状态,再向服务器端发送请求的时候,不会发送hash部分。

     hash值的变化会在浏览器的访问历史中增加一个记录,可以通过浏览器的前进后退按钮改变hash值的变化。

   可以通过hashchange事件来监听hash的变化。

history模式

      使用history.pushState()和history.repalceState(),实现页面在不刷新的情况下,操作浏览器的历史记录。

    可以通过popstate()事件来监听url的变化

     history.pushState()和history.repalceState(),不会触发popstate事件,需要手动渲染页面。