路由的两种模式

一、更新视图但是不重新请求页面,是前端路由原理的核心之1,目前在浏览器环境中这一功能的实现主要有两种:

(1)默认是hash模式,路由上方的路径是用#表示
(2)history是利用URL中的路径

2.如何设置路由模式

const router=new VueRouter({mode:'history',routes:[...]
})

3.mode区别

1.mode:hash多了一个#
2.mode:history

4.hashHistory

hash(#)的作用是加载URL中只是网页中的位置,#后面的hash值,可通过window.location.hash获取

特点:

  1. hash不会被包括在http请求中,对服务器端完全无用,因此,改变hash不会重新加载页面。
  2. 可以为hash的改变添加监听事件:window.addEventListenter(“hashchange”,funcRef,false)
  3. 每一次改变hash(window.location.hash),都会在浏览器访问历史中增加一个记录
    利用hash的以上特点,就可以实现前端路由"更新视图但不重新请求页面"的功能了

hashHistory有两种方法:一个是push,另一个是replace。
hishHistory.push()将新路由添加到路由到浏览器访问历史的栈项
hishHistory.replce()并不是将新路由添加到浏览器访问历史的栈项,而是替换掉当前的路由。

二、HTML5History

HTML5开始History提供了两个新的方法:pushstate,replacestate使我们可以对浏览器历史记录栈进行修改。

window.history.oushstate()
window.histiry.replacestate()

监听地质变化
在HTML5History的构造函数中监听popstate(window.onpopstate)
popstate事件会在点击后后退、前进按钮时触发,前提是真的发生了页面跳转,而是在由history.pushstate或者history.replacestate形成的历史节点中前进后退。

注意:页面第一次加载的时候,浏览器不会触发popstate事件。

vue-router 两种模式相关推荐

  1. Vue 路由router的两种模式

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

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

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

  3. webpack 安装vue(两种代码模式compiler 和runtime)

    使用webpack安装vue,import之后,运营项目报错,如下: [Vue warn]: You are using the runtime-only build of Vue where the ...

  4. vue路由之路由的两种模式

    文章目录 简介 hash路由 history模式 两种模式的比较 history存在的问题 专栏目录请点击 简介 一般路由分两种形式 一种是哈希路由,最明显的特征就是路由中有一个# 还有一种就是his ...

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

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

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

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

  7. 面试考问Vue Router 的路由模式,这个回答令我直接出局!

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  8. 你真的理解 Vue Router 的路由模式吗?

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  9. 面试考问Vue Router 的路由模式,这个回答令我直接出局~

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

最新文章

  1. 运行shell脚本时怎么知道jdk路径_Linux中如何查询运行文件的全路径的方法
  2. linux下syscall函数 间接系统调用
  3. 文本分类入门(二)文本分类的方法
  4. 2018.12.15
  5. laravel 学习总结
  6. VM中Windows server 2012 R2系统安装SQL SERVER 2012的安装步骤
  7. 未来教育计算机二级Excel解析,Excel操作小技巧,助你学好计算机二级office!
  8. LeetCode 1155. 掷骰子的N种方法(DP)
  9. Ubuntu(Debian) 18.04 安装后开启ssh和防火墙传输文件
  10. java 双线程交替,Java 创建两个线程,和主线程交替运行。
  11. IDEA 同一个工程下不同模块之间的类相互调用
  12. 利用计算机进行信息检索,用计算机进行情报检索属于计算机应用中的
  13. 大学linux考试试题,大学《Linux操作系统》试题库及答案(20200903111009).pdf
  14. 英伟达早期显卡驱动下载
  15. 光耦合器 工作原理 作用 应用场合
  16. mysql查询字段最大的一条数据类型_SQL查询一个表中类别字段中Max()最大值对应的记录...
  17. mysql使用结巴语句_MySQL 结巴中文分词插件 SqlJieba
  18. 腾讯云-产品开通和密钥查看
  19. 东莞地铁1号线黄江北站主体结构全面封顶
  20. 领导者应具备的三个能力

热门文章

  1. 80%的人分不清传感网与物联网的区别,这二者之间的具体区别到底是什么?
  2. 线程基础篇-线程同步
  3. loadrunner入门教程(28) --场景运行
  4. MySQL数据库-表的插入详解
  5. 电机功率和转矩、转速之间的关系
  6. 软件项目管理第二篇:项目计划 (1)——范围计划
  7. 2022-2027年中国海洋功能性食品行业发展监测及投资战略研究报告
  8. Matrix4x4.TRS()
  9. SQL Server中事务日志已满的原因以及解决办法
  10. Linux配置多网口IP地址,linux配置ip 多个网口