Vue-router的hash和history模式

hash模式和hsitory模式均可以实现无刷新跳转功能。前端

hash模式:前端路由的路径用井号#拼接在真实URL后面的模式。当井号后面的路径发生变化时,不会致使浏览器向服务器发出请求,而是会触发hashchange事件。后端

hash虽然出如今路由中,可是不被包含在HTTP请求中,对后端没有影响,所以改变hash时不会从新加载页面。hash的改变会记录在window.history中,所以就能够发现浏览器能够实现前进后退功能了,所以实现了无刷新跳转。

history模式是HTML5新增的,history模式包括两大部分,切换和修改。浏览器

切换历史状态包括:back、forward、go三个方法。
修改历史状态包括:pushState、replaceState。这两个方法基于back、forward、go的基础之上,他们提供了对历史记录进行修改的功能。只是当它们执行修改时,虽然改变了URL,可是浏览器不会当即向后端发送请求。经过pushState、replaceState实现无刷新跳转。

能够随意修改path,这种修改是会从新请求URL的,可是要求咱们在服务器端配好地址,不然会返回404.在项目中配置一个404界面也是颇有必要的。
相关文章
相关标签/搜索