vue 中的路由为什么 采用 hash 路由模式,而不是href超链接模式(Hypertext,Reference)?

Posted jinfeixiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 中的路由为什么 采用 hash 路由模式,而不是href超链接模式(Hypertext,Reference)?相关的知识,希望对你有一定的参考价值。

1. vue中路由模式的种类有两种

  1. 一种是 hash 模式。

  2. 一种是 h5 的 history 模式。

2. hash 和 history 都是来自 bom 对象 bom 来自 window

3. window.location.hash

4. hash 是属于 window.location 这个对象,而history直接属于 window

5. window.history

6. 是因为路由模式下,当hash值发生改变,不会发生网络请求,但是href会,vue会自动监听hash 当 hash发生改变的时候,只会去更新对应的组件,不会发送网络请求。

7. history 实现路由的原理 history.pushState() 有历史记录,会发送网络请求,采用的是栈堆。

栈内存最大的优势是:先进后出

8. 研究一个方法:通过三点去学

  1. 要明白它是干啥的

  2. 要知道它的参数代表是什么

  3. 要知道返回值是什么

  history 原理图

  技术图片

 

 

history.back() 返回上一级 === history.go(-1)

history.forwords() === history.go(-1)

history.replaceState() 没有存储记忆的路由,不能返回

作者:晋飞翔
手机号(微信同步):17812718961
希望本篇文章 能给正在学习 前端的朋友 或 以及工作的朋友 带来收获 不喜勿喷 如有建议 多多提议 谢谢!!!

以上是关于vue 中的路由为什么 采用 hash 路由模式,而不是href超链接模式(Hypertext,Reference)?的主要内容,如果未能解决你的问题,请参考以下文章

vue中路由模式及区别

Vue路由中的hash和history模式

Vue路由中的hash和history模式

vue.js的路由地址会以#号分隔,有啥办法可以去掉这个#号吗

Vue路由hash模式下锚点滚动实现

Vue路由的原理及模式