路由模式
路由模式决定了:
- 路由从哪里获取访问路径
- 路由如何改变访问路径
vue-router
提供了三种路由模式:
-
hash:默认值。路由从浏览器地址栏中的hash部分获取路径,改变路径也是改变的hash部分。该模式兼容性最好。
http://localhost:8081/#/blog --> /blog http://localhost:8081/about#/blog --> /blog
-
history:路由从浏览器地址栏的
location.pathname
中获取路径,改变路径使用的H5的history api
。该模式可以让地址栏最友好,但是需要浏览器支持history api
location.pathname获取的是域名后面,问号?之前的部分
这种模式是目前使用最多的,没有hash的兼容性好,但是现在大部分都支持
内部使用history.pushState(null,null,"./路径") 来改变路径的。http://localhost:8081/#/blog --> / http://localhost:8081/about#/blog --> /about http://localhost:8081/blog --> /blog
-
abstract:路由从内存中获取路径,改变路径也只是改动内存中的值。这种模式通常应用到非浏览器环境中。
内存: / --> / 内存: /about --> /about 内存: /blog --> /blog
第三种模式不常用