vue-router 模式
hash模式
hash(#)模式中,#后面的部分其实是一个锚点,根据component的配置对应到相应的组件展示在页面上。改变#后面的内容不会重新加载页面,同时会加一个浏览记录,可以使用后退按钮回到上一个页面。#后面只对浏览器作用,对服务器不起作用。请求的url中不会带入。
window.location.hash可以读取#后面的值
history模式
history模式是h5 history API提供的一种功能,可以根据url跳转不刷新页面内容
history问题:url后面带参数会出现404,xxx.com/id=5 history方法:
replaceState:替换url,不改变浏览器history
pushState:替换URL,并添加history,pushState添加的url必须与当前的url同源
window.location
window.location修改url会重新加载整个页面