Vue36 hash模式和history模式
1 简介
路由模块的本质就是建立起url和页面之间的映射关系。hash模式url里面永远带着#号,history没有,开发当中默认使用hash模式。

2 hash模式和history的区别
1)hash路由在地址栏URL上有#,用 window.location.hash 读取。而history路由没有会好看一点
2)我们进行回车刷新操作,hash路由会加载到地址栏对应的页面,而history路由一般就404报错了(刷新是网络请求,没有后端配合处理会报错)
3)hash路由支持低版本的浏览器,而history路由是HTML5新增的API
4)hash的特点在于它虽然出现在了URL中,但是不包括在http请求中,所以对于后端是没有一点影响的,所以改变hash不会重新加载页面,所以这也是单页面应用的必备
hash 模式下,仅hash符号之前的内容会被包含在请求中,如http://www.abc.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回404错误。
history模式下,前端的URL必须和实际向后端发起请求的URL一致。如htttp://www.abc.com/book/id。如果后端缺少对/book/id 的路由处理,将返回404错误
3 配置
在配置路由器的时候配置mode属性即可
const router =  new VueRouter({
    mode:'history',
    routes:[...]
})
export default router
Vue36 hash模式和history模式的更多相关文章
- 前端路由的两种模式: hash 模式和 history 模式
		随着 ajax 的使用越来越广泛,前端的页面逻辑开始变得越来越复杂,特别是spa的兴起,前端路由系统随之开始流行. 从用户的角度看,前端路由主要实现了两个功能(使用ajax更新页面状态的情况下): 记 ... 
- vue-router的hash模式与history模式的对比
		Vue-router 中hash模式和history模式的关系在vue的路由配置中有mode选项 最直观的区别就是在url中 hash 带了一个很丑的 # 而history是没有#的mode:&quo ... 
- 【前端路由】Vue-router 中hash模式和history模式的区别
		咱们今天说说VUE路由的hash模式与history模式的区别,这个也是面试常问的问题,不要小看这道题其实问到这里的时候那个面试官应该是个大牛,开发经验丰富,这个题其实就是考验你的开发经验是否属实. ... 
- 前端路由的两种模式:hash(#)模式和history模式(转)
		随着 ajax 的使用越来越广泛,前端的页面逻辑开始变得越来越复杂,特别是spa的兴起,前端路由系统随之开始流行. 从用户的角度看,前端路由主要实现了两个功能(使用ajax更新页面状态的情况下): 记 ... 
- Vue-router 中hash模式和history模式的区别
		实际上存在三种模式: Hash: 使用URL的hash值来作为路由.支持所有浏览器. History: 以来HTML5 History API 和服务器配置.参考官网中HTML5 History模式 ... 
- hash模式与history模式
		随着 ajax 的使用越来越广泛,前端的页面逻辑开始变得越来越复杂,特别是spa的兴起,前端路由系统随之开始流行. 从用户的角度看,前端路由主要实现了两个功能(使用ajax更新页面状态的情况下): 记 ... 
- Vue路由的hash模式与history模式的区别?
		1.首先router有两种模式:hash模式(默认).history模式(需配置mode: 'history') hash和history的区别? hash ... 
- Vue中hash模式和history模式的区别
		vue-router 中hash模式和history模式. 在vue的路由配置中有mode选项,最直观的区别就是在hash模式下的地址栏里的URL夹杂着‘#’号 ,而history模式下没有.vue默 ... 
- vue开发多页面应用 - hash模式和history模式
		我们知道vue可以快速开发web单页应用,而且官方为我们提供了自己的应用脚手架vue-cli,我们只需要下载脚手架,安装依赖后就可以启动vue应用雏形. 这得益与webpack的依赖追踪,各种资源后缀 ... 
- Vue 编程式导航(通过js跳转页面)以及路由hash模式和history模式
		第一种方法: this.$router.push({path:'shopcontent?aid=3'} 第二种方法 this.$router.push({name:'news'}} 通过在ma ... 
随机推荐
- C#使用附加到进程调试
			微软官网的调试进程介绍 首先运行bin下的可执行文件,然后打开源代码,选择调试--->附加到进程. 
- 修改egg.js项目的默认favicon图标
			在项目根目录下的config/config.default.js文件中配置 将 .ico的图标放在一个目录中 方法一.读取本地文件 const path = require('path'); cons ... 
- PHP使用PHPmailer类和smtp发送邮件
			开启邮件smtp服务 设置授权码 引入phpmailer类,smtp类本地下载https://github.com/PHPMailer/PHPMailer //下载PHPMailer并开启php_op ... 
- mindxdl--common--type.go
			// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common this file ... 
- Go语言核心36讲11
			至今为止,我们讲过的集合类的高级数据类型都属于针对单一元素的容器. 它们或用连续存储,或用互存指针的方式收纳元素,这里的每个元素都代表了一个从属某一类型的独立值. 我们今天要讲的字典(map)却不同, ... 
- API 如何选择 REST,GraphQL还是gRPC
			关于API的演进 CORBA RDA XML-RPC SOAP REST JSON-RPC ODATA GraphQL gRPC gRPC是什么? 
- 5、有一行电文,译码规律为: a ——> z  b——> y  c ——> x. 即把第一个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母字符不变
			/* 有一行电文,译码规律为: a --> z b--> y c --> x. 即把第一个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母字符不变 */ #i ... 
- 学习ASP.NET Core Blazor编程系列十——路由(下)
			学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ... 
- 关于 python 中比较运算的顺序
			先来看一个例子: "x" > "y" == True 结果为 False 因为这里的表达式可以等同于 "x" > "y ... 
- 日爬百万数据的域名限制、url的清洗和管理
			一.域名去重1.检测开头:link.startswith('http') txt = "Hello, welcome to my world." x = txt.startswit ... 
