Vue路由中,history和hash两种模式有什么区别

简介: Vue路由中,history和hash两种模式有什么区别

hash【主要原理就是onhashchange()事件】

  • hash模式是开发中默认的模式,它的URL带着一个#
  • hash值会出现在URL地址里面,但是不会出现在http请求中,对后端完全没有影响,当然也不会重新请求页面
  • 低版本的浏览器支持这种模式的路由
  • hash路由被称为是前端路由,已经成为SPA的标配

history模式

  • history模式的URL中没有#,它是传统路由分发模式(就是用户输入一个url时候,服务器会接受这个请求,并解析这个URL,做出相应的逻辑处理)
  • hash模式更加好看,例如/id这种
  • history模式需要后台配置支持,如果后台没有正确配置,访问时会返回404
  • 修改历史状态:新增pushState()和replaceState()方法,这个方法应用于浏览器的历史记录栈,提供对历史记录进行修改的功能,只是当他们进行修改的时候,虽然修改url,但浏览器不会立即向后端发送请求,如果要做到改变url但又不刷新页面的效果,就需要前端用上两个API
  • 切换历史状态:forward() back() go(),前进,后退,跳转
  • 刷新页面的时候,如果没有相应的路由或资源,就会刷出404



相关文章
|
2天前
|
JavaScript
VUE里的find与filter使用与区别
VUE里的find与filter使用与区别
11 0
|
2天前
|
移动开发 JavaScript 前端开发
uni-app和Vue.js二者之间有什么区别?
1. uni-app是一个使用Vue.js开发所有前端应用的框架,支持一次编译多端运行。开发者编写的基础代码只需进行一次编写,就可以发布到多个平台,包括App、H5、微信小程序等。 2. Vue.js是一个渐进式JavaScript框架,用于构建用户界面。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。
4 0
|
3天前
|
JavaScript
vue中watch监听路由传来的参数变化问题
vue中watch监听路由传来的参数变化问题
5 0
|
4天前
|
缓存 JavaScript 开发者
什么是vue的计算属性?为什么使用?计算属性和方法有什么区别?怎样选择
什么是vue的计算属性?为什么使用?计算属性和方法有什么区别?怎样选择
9 0
|
5天前
|
缓存 JavaScript
在 Vue 组件中使用计算属性和侦听器来响应路由变化
Vue Router 中,计算属性和侦听器常用于根据路由变化更新组件状态。计算属性缓存依赖,当路由参数改变时自动更新,如示例中的 `userId`。侦听器则监听 `$route` 变化,执行相应操作,例如在 `currentUserId` 示例中响应 `userId` 更新。计算属性适合简单变化,而异步操作或复杂场景可选用侦听器。Vue 3 中,`watchEffect` 减少了部分侦听场景的复杂性。总之,它们用于组件内部响应路由变化,而非直接处理路由逻辑。
12 4
|
6天前
|
JavaScript API 开发者
vue3与vue2的区别
vue3与vue2的区别
17 2
|
13天前
|
资源调度 JavaScript 前端开发
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
|
13天前
|
缓存 JavaScript
Vue 中的 computed 和 watch 的区别
Vue 中的 computed 和 watch 的区别
|
13天前
|
JavaScript Go
Vue路由跳转及路由传参
Vue路由跳转及路由传参
|
14天前
|
JavaScript 算法 前端开发
vue3和vue2得区别
Vue 3 优化了性能,引入了更快的虚拟 DOM 算法和模块化编译,提升渲染速度并减小打包文件大小。新引入的 Composition API 提高代码组织灵活性和可维护性。Vue 3 加强了 TypeScript 支持,改进响应式系统,使用 Proxy 实现更细粒度变化跟踪。此外,包体积更小,加载速度更快。尽管与 Vue 2 存在迁移成本,官方提供迁移指南和工具以协助平滑过渡。Vue 3 旨在提供更好的开发体验和效率。