美文网首页
vue-router 的hash 和 history 模式

vue-router 的hash 和 history 模式

作者: 前端小飞象 | 来源:发表于2021-03-08 11:10 被阅读0次

hash模式(单页面标配)

  • hash值变化不会导致浏览器向服务器发出请求

url后面跟着 # 以及后面的字符。hash也称作锚点,本身是用来做页面定位的。

hash 改变会触发hashchange事件(hashchange只能改变# 后面的url片段)。更加关键一点是,因为hash发生变化的url都会被浏览器记录下来,从而你会发现浏览器的前进后退都可以用了,所以在html5的history出现前,基本都是使用hash来实现前端路由的。

history模式

  • history 模式改变 url 的方式会导致浏览器向服务器发送请求

hash 能兼容到IE8,history只能兼容到IE10

没有#符号,不怕前进不怕后退,就怕刷新F5(刷新是实实在在地去请求服务器的,如果后端没有准备的话,就会分分钟刷出404)

hash本来是拿来做页面定位的,如果拿来做路由的话,原来的锚点功能就不能用了,其次,hash的传参是基于url的,如果要传递复杂的数据,会有体积的限制,而history模式不仅可以在url放参数,还可以将数据存放在一个特定的对象中。

相关文章

网友评论

      本文标题:vue-router 的hash 和 history 模式

      本文链接:https://www.haomeiwen.com/subject/xwvtqltx.html