前言
路由分为两种
前端路由
和后台路由
。
前端路由
是由程序员自己定义的,一个路由对应一个页面,在后台不会真实存在。在vue中路由有两种
hash
路由和history
路由两种。
hash
路由
hash
路由的原理:
hash
路由是根据url中的hash值来判断路径不同
根据事件onhashchange
来感知hash的变化,再根据不同的路径在显示不同的数据
hash
值在地址栏上#
后面的就称为hash
histor
路由
history
路由是根据h5
新增的两个堆栈函数history.pushState
和history.replaceState
history.pushState
向历史记录中追加一条记录
history.replaceState
替换当前页在历史记录中的信息。
当历史堆栈中有路径的变化会触发事件onpopstate
。
注: 在vue
脚手架中的路由文件中,我们可以通过mode:"history"
来设置路由。
hash
路由与history
路由的区别
hash
路由是#后面的路径 在刷新的时候浏览器不会发送到后台(不会请求服务器)history
路由长的和后台的路由很像(/路径
) ,所以页面的刷新的时候会请求服务器 ,服务器会报404
后台路由
后台的路由是服务器真实的地址,访问能够获取到对应的数据,我们一般称之为
数据接口
。