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界面也是很有必要的。

你可能感兴趣的:(前端,vue.js)