vue的路由模式

本文详细介绍了前端开发中两种常见的路由模式:hash模式和history模式。hash模式利用URL中的hash值改变来实现页面间的跳转,而history模式则通过HTML5的新特性实现更接近原生应用的体验。两者各有特点,在不同的应用场景下选择合适的模式至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hash模式

URL 中带有 “#” 则为 hash 模式,hash 模式 “#” 之前的内容会被包含在请求中,之后的不会包含在请求中。

工作原理

hashchange 事件,可以在 window 对象上监听 hash 的变化。

window.onhashchange = function(event){
  console.log(event.oldURL, event.newURL);
  console.log(location.hash);
}

特点

1、改变 URL 不会触发页面重新加载,不算是 http 请求,不利于SEO优化;
2、只能修改 “#” 后面的部分,因此只能跳转与当前 URL 同文档的 URL;
3、只能通过字符串改变 URL;
4、刷新不进行后端请求。

history模式

前端的 URL 必须和实际向后端发起请求的URL一致,如果后端缺少参数的路由处理,将返回404。

工作原理

使用 HTML5 的 pushState() 和 replaceState() 来实现。
pushState():可以改变 url 地址且不会发送请求;
replaceState():可以读取历史记录栈,还可以对浏览器记录进行修改。

window.history.pushState(stateObject, title, URL)
window.history.replaceState(stateObject, title, URL)

特点

1、新的 URL 可以是与当前 URL 同源的任意 URL;
2、可以自由修改 path;
3、可以实现前进、后退;
4、刷新会进行后端请求。

参考文章:https://blog.youkuaiyun.com/weixin_44684357/article/details/111827870https://blog.youkuaiyun.com/zy1281539626/article/details/114803737

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值