Vue-Router - 01 快速入门
首先要明白一点,Vue-Router是做“跳转”功能,当然只是表面形式上的跳转,实质是DOM元素的卸载和挂载,页面并未跳转,但是效果是看到url
发生了变化,但是注意发生变化的是"#"哈希值后面的值,实质上并未跳转页面,但是路由內部是通过window.onhashchange实现监听
随着版本更替,history路由已经出现,它是用现代浏览器的新特性,实现
window.history.pushState(state, title, url)
// state:需要保存的数据,这个数据在触发popstate事件时,可以在event.state里获取
// title:标题,基本没用,一般传 null
// url:设定新的历史记录的 url。新的 url 与当前 url 的 origin 必须是一樣的,否则会抛出错误。url可以是绝对路径,也可以是相对路径。
//如 当前url是 https://www.baidu.com/a/,执行history.pushState(null, null, './qq/'),则变成 https://www.baidu.com/a/qq/,
//执行history.pushState(null, null, '/qq/'),则变成 https://www.baidu.com/qq/
window.history.replaceState(state, title, url)
// 与 pushState 基本相同,但她是修改当前历史记录,而 pushState 是创建新的历史记录
window