vue路由的实现原理

Vue的路由实现:hash模式 和 history模式

hash模式:

早期前端路由的实现是基于window.location.hash 来实现的,window.location.hash 的值就是 URL中#后面的内容

特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。

hash 模式下,仅 hash 符号之前的内容会被包含在请求中,如 http://www.xxx.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回 404 错误。

history模式:

history采用HTML5的新特性;且提供了两个新方法:history.pushState() 和 history.repalceState()可以对浏览器历史记录栈进行修改,

以及popState事件的监听到状态变更。



参考:https://www.jianshu.com/p/f660804d8592

原文地址:https://www.cnblogs.com/theblogs/p/13139811.html