vue路由原理

前端路由切换原理:本质就是监听url的变化,然后匹配路由规则,显示相应的页面,并且不刷新页面。目前单页面应用实现路由的方式只有俩种:
hash模式
history模式
hash模式相当于瞄点跳转。监听url#后面的传值发生变化,从而触发window.hashchange方法。并根据值修改暂时页面的内容。不会刷新页面请添加图片描述
history模式相对hash模式更加符合我们常见的url格式。原理是触发了原生的window.history方法。
简单介绍一下window.history都有哪些方法
history.forward 历史记录前进
history.back 历史记录后退
history.go 历史记录 跳转n步 -n后退n步 n前进n
history.pushstate 向历史记录添加一条记录
history.replacestate 替换当前页页面上的信息
window.onpopstate事件,用户操作前进后退按钮的时候,监听当前url的变化,从而修改页面内容
history模式可以简单理解为,我们针对超链接进行改造,给每一个超链接添加一个onclick点击事件。阻止超链接默认跳转的事件。使用history.pushstate和history.replacestate的方法,更改浏览器的url,修改页面内容。从而实现单页面应用不刷新的需求。请添加图片描述

hash模式和history模式的区别

history模式更加优雅,更加美观,hash模式比较丑
history模式跳转当前路由会在历史记录里新增加一条。而hash模式只有在跳转路由与当前路由不一致时才会增加
history模式刷新页面会向服务器发送请求。所以需要后端服务配合重定向,否则会报页面404,hash模式则不会,只是执行load事件
hash模式兼容到ie8,history模式兼容到ie10

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值