1: hash后端
2: history浏览器
区别: 前者地址栏会带有#,后者没有,显得美观一点服务器
路由原理:前段路由实现本质是监听URL的变化,而后匹配路由规则显示相应页面,而且无须刷新。spa
hash模式:router
a: 点击或浏览器历史跳转时,触发onhashchange事件,而后根据路由规则匹配显示相应页面(遍历路由表,装载相应组件到router-link);事件
b: 手动刷新时,不会像服务器发送请求(不会触发onhashchange),触发onload事件,而后根据路由规则匹配显示相应页面;路由
history模式:hash
a:跳转时会调用history.pushState方法,根据to属性改变地址,并切换相应组件到router-link;class
b:浏览器历史操做(前进,后退),只会改变地址栏(页面内容不会变),不会切换组件,须要使用popstate方法来切换组件;原理
c: 手动刷新,须要后端配合重定向,否则404