Vue-Router hash mode.

hash 模式

地址: http://www.site.com/#/a

  • # 表示这是一个 hash 模式下的路由

  • # 后面的 /a 是一个路径(可以是 #/b #/login #/home #/dashboard


前端控制路由

  • 利用了 hash 不会引起浏览器发请求的特点 保证了页面不刷新 (因为 hash 本质是一个位置标识符 是给浏览器看的 不是给服务器看的

路由对象属性

API 参考 | Vue Router

地址:http://www.site.com/#/a?search=value#hash

  • 浏览器认为 #/a?search=value#hash 是 hash

  • vue-router 认为 #hash 是 hash

浏览器的 hash 是从第一个 # 开始的。但在 vue-router 的世界里, 地址的第一个 hash 被用来标识前端路由

通过 $route.hash 就可以得到 vue-router 世界中的 hash (通过 $route.query 得到地址中的 search


所以,在使用 vue-router 后,不能简单地用 window.location.search window.location.hash 这种常规方法去找 search hash

通过正则去取 query ,不论是前端加的 query 还是 后端加在 # 之前的 query 都可以取到: url - How can I get query string values in JavaScript? - Stack Overflow

原文作者: dgb8901,yinxing

原文链接: https://www.itwork.club/2018/09/25/Vue-Router-hash-mode/

版权声明: 转载请注明出处

为您推荐

体验小程序「简易记账」

关注公众号「特想学英语」

Elasticsearch 安装及注意事项