1、大家都知道vue是一种单页应用,单页应用就是仅在页面初始化的时候加载相应的html/css/js一单页面加载完成,不会因为用户的操作而进行页面的重新加载或者跳转,用javascript动态的变化html的内容

优点: 良好的交互体验,用户不需要刷新页面,页面显示流畅, 良好的前后端工作分离模式,减轻服务器压力,
缺点: 不利于SEO,初次加载耗时比较多

2、hash模式
vue-router默认的是hash模式—使用URL的hash来模拟一个完整的URL,于是当URL改变的时候,页面不会重新加载,也就是单页应用了,当#后面的hash发生变化,不会导致浏览器向服务器发出请求,浏览器不发出请求就不会刷新页面,并且会触发hasChange这个事件,通过监听hash值的变化来实现更新页面部分内容的操作

对于hash模式会创建hashHistory对象,在访问不同的路由的时候,会发生两件事:
HashHistory.push()将新的路由添加到浏览器访问的历史的栈顶,和HasHistory.replace()替换到当前栈顶的路由

3、history模式

主要使用HTML5的pushState()和replaceState()这两个api来实现的,pushState()可以改变url地址且不会发送请求,replaceState()可以读取历史记录栈,还可以对浏览器记录进行修改

window.history.pushState(stateObject, title, URL)
window.history.replaceState(stateObject, title, URL)

包括back,forward , go 三个方法
history.go(-2);//后退两次
history.go(2);//前进两次
history.back(); //后退
hsitory.forward(); //前进

区别:

前面的hashchange,你只能改变#后面的url片段。而pushState设置的新URL可以是与当前URL同源的任意URL。
history模式则会将URL修改得就和正常请求后端的URL一样,如后端没有配置对应/user/id的路由处理,则会返回404错误

参考于: https://www.cnblogs.com/ceceliahappycoding/p/10552620.html

vue-router的两种模式的区别相关推荐

  1. vue路由的两种模式:hash与history的区别

    前言:众所周知,vue-router有两种模式,hash模式和history模式,下面来看看两者的区别. 一.基本情况 直观区别:hash模式url带#号,history模式不带#号. 1.hash模 ...

  2. vue-router前端路由的两种模式的区别

    一.前端路由存在的意义 前端路由主要应用在spa项目中. 核心---在无刷新(不向后端发送请求)的情况下,可以根据不同url更改视图. 二.浏览器提供hash 和history 两种模式支持(可以说, ...

  3. 蓝牙播放Stereo和Hands-Free AG Audio两种模式的区别?

    当使用蓝牙耳机时,发现电脑的播放设备显示了两种模式(如下图所示),Stereo模式下声音正常,而调到Hands-Free AG Audio模式下声音频带窄了很多且音质差,典型的电话音,下面具体说说这两 ...

  4. vue-router两种模式的区别

    vue-router两种模式的区别 1.hash模式 vue-router默认的是hash'[hæʃ] '模式,使用URL的hash来模拟一个完整的URL,于是当URL改变的时候,页面不会重新加载,也 ...

  5. vue router 的两种路由模式hash与history的区别

    文章目录 两种模式 特点 总结 两种模式 前端路由的核心,就在于 -- 改变视图的同时不会向后端发出请求. hash模式是通过改变锚点(#)来更新页面URL,并不会触发页面重新加载,我们可以通过win ...

  6. Vue 路由router的两种模式

    两种模式 vue中router可以设两种模式:hash和history.设置方式就是代码中注释的部分. import Vue from 'vue' import Router from 'vue-ro ...

  7. Vue-Router前端路由的两种模式、区别、原理?

    vue路由有⼏种模式?有什么区别?原理是什么? 一.vue路由有几种模式? 二.两者区别 三.原理 一.vue路由有几种模式? vue的路由模式⼀共有两种,分别是哈希和history 二.两者区别 哈 ...

  8. hash和history两种模式的区别+SpringBoot的特定配置

    今天学习到vue-router有两种模式,一种是hash,一种是history模式 这两种模式对于后端来说有点区别 1,hash模式 这个模式是链接后拼接/#/这样的形式,在实际请求时并不加入#后面的 ...

  9. vue-router 两种模式的区别

    vue-router有两种模式,hash模式和history模式,这里来谈谈两者的区别. **hash模式** hash模式背后的原理是onhashchange事件,可以在window对象上监听这个事 ...

  10. git merge 的两种模式的区别 --no-ff与fast forward

    git merge 将名字为branchName的分支合并到当前分支 有两种模式 git merge <branchName>:fast forward模式,快速合并,看不出做过合并. 不 ...

最新文章

  1. RDKit:计算不同小分子构象之间的RMSD
  2. CMD下查询Mysql中文乱码的解决方法
  3. Visual Studio Code 1.0正式发布
  4. Java 8 的List<V> 转成 Map<K, V>
  5. JQuery. Parse XML children recursively. How? - Stack Overflow
  6. 6-6-阶段案例:传智书城JSP页面
  7. iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了
  8. 解决 ImportError: No module named ‘pip._internal‘问题
  9. 压力测试工具之DDos-Attack
  10. oracle 求班级平均分
  11. 没有提取码 php云盘文件,最新百度网盘分享文件链接无需提取码的方法
  12. OPPO Reno6 6Pro刷root强解BL锁 oppo reno6 Root教程
  13. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之样本熵
  14. 2007年银行业从业人员资格考试试题及参考答案
  15. [转载]微信公众号开发 [01] 入门基本流程
  16. 工业级压力传感器设计及实现(华大半导体HC32L136)
  17. ISO 刻录软件 (可替代Nero 刻录软件的映像刻录功能)
  18. mysql 8.0.12 解压版安装步骤
  19. java输入贴边等腰三角形,[转载]手针缝纫基础知识
  20. mysql iops_数据库iops的理解

热门文章

  1. 将诺基亚5800恢复成出厂设置,包括软件程序都和出厂的一样
  2. 再见笨重的SpringBoot,这个神器框架终于发布了!​
  3. Python之列表的基本操作
  4. 矩阵的各种分解: LU分解, QR分解, 特征分解, 对称对角化, 奇异值分解 SVD
  5. PPNet模型和tf.stop_gradient的用法
  6. 操作系统实验五、进程互斥实验——理发店问题
  7. ROS USB摄像头驱动安装
  8. C#中引入Python
  9. OpenCV-picturebase
  10. 使用 PHP 处理 XML 配置文件