vue-router中的hash和history模式

hash模式:

使用URL的hash来模拟一个完整的URL,于是当URL改变的时候,页面不会重新加载,也就是单页应用
当#后面的hash发生变化时,不会导致浏览器向服务器发出请求,浏览器不发出请求就不会刷新页面,并且会触发hasChange这个事件,通过监听hash值的变化来实现更新页面部分内容的操作
history模式:主要使用HTML5的pushState()和replaceState()这两个api来实现的

pushState()可以改变url地址且不会发送请求
replaceState()可以读取历史记录栈,还可以对浏览器记录进行修改
区别:前面的hashchange,你只能改变#后面的url片段。而pushState设置的新URL可以是与当前URL同源的任意URL。
history模式则会将URL修改得就和正常请求后端的URL一样,如后端没有配置对应/user/id的路由处理,则会返回404错误
————————————————
版权声明:本文为CSDN博主「陌上花开然不归矣」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yalywq/article/details/123815306

posted @ 2022-05-28 23:30  RHCHIK  阅读(215)  评论(0编辑  收藏  举报