[鸭子死前会动一下吗为什么]【前端学习Vue(9)Vue路由】
vue-router 有 3 种路由器商业模式:、、,相关联的源代码如下表右图右图:
路由器商业模式的表明如下表右图:
hash: 采用 URL hash 值来作路由器。全力支持,主要就包括不全力支持 HTML5 History Api 的应用程序;
history : 倚赖 HTML5 History API 和伺服器实用性。具体文本能查阅 HTML5 History 商业模式;
abstract : 全力支持大部份 运转自然环境,如 Node.js 服务端。假如辨认出没应用程序的 API,路由器会手动强制性步入那个商业模式.
(1)hash 商业模式的同时实现基本原理
晚期的后端路由器的同时实现是如前所述 来同时实现的。其同时实现基本原理很单纯,location.hash 的值是 URL 中 前面的文本。
比如说下表右图面那个中文网站,它的 location.hash 的值为 :
hash 路由器商业模式的同时实现主要就是如前所述上面三个优点:
URL 中 hash 值而已的一类,也是说THF1服务端,hash 部份;hash 值的,单厢在应用程序的中两个。因而他们能透过应用程序的班莱班县、行进按键掌控hash 的转换;能透过 a 条码,并增设 href 优点,当使用者点选那个条码后,URL 的 hash 参数值出现出现改变;或是采用JavaScript 来对 loaction.hash 展开表达式,出现改变 URL 的 hash 值;他们能采用 该事件来窃听 hash 值的变动,进而对网页展开重定向(图形)。
(2)history 商业模式的同时实现基本原理
HTML5 提供更多了 来同时实现 URL 的变动,当中做最主要就的 API 有下列三个:
history.pushState() //新曾历史记录history.repalceState()。 //替换历史记录
这三个 API 能在的情况下,应用程序的。唯一不同的是,前者是新增两个历史记录,后者是直接替换当前的历史记录,如下表右图右图:
history 路由器商业模式的同时实现主要就如前所述存在上面三个优点:
pushState 和 repalceState 三个 API 来操作同时实现 URL 的变动;他们能采用 该事件来窃听 url 的变动,进而对网页展开重定向(图形);history.pushState() 或 history.replaceState() 不会触发 popstate 该事件,这时他们需要手动触发网页重定向(图形)。