【Vue3】深入理解Vue3路由器的工作原理to的两种写法

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互相学习和建立一个积极的社区。谢谢你的光临,让我们一起踏上这个知识之旅!
请添加图片描述

文章目录

  • 🍋路由器的核心概念
  • 🍋history模式
  • 🍋Hash模式
  • 🍋to的两种写法
  • 🍋总结

Vue3提供了一个强大而灵活的路由器,它能够帮助我们构建单页面应用程序(SPA)并管理页面之间的导航。本文将深入探讨Vue3路由器的工作原理,包括其核心概念、使用方法以及一些高级技巧。

🍋路由器的核心概念

在Vue3中,路由器的核心概念包括路由器实例、路由器选项、路由表、路由视图和导航守卫。

  • 路由器实例:我们可以通过创建一个路由器实例来启动Vue3的路由器。路由器实例包含了路由器的配置选项,例如路由表、路由模式(hash或history)等。

  • 路由器选项:路由器选项是一个包含路由配置的对象。它定义了应用程序的路由规则,包括路由路径和对应的组件。

  • 路由表:路由表是一个映射路由路径和组件的配置对象。它告诉路由器在匹配到特定路径时应该渲染哪个组件。

  • 路由视图:路由视图是一个用来显示匹配到的路由组件的组件。在Vue3中,我们使用组件来渲染匹配到的组件。

  • 导航守卫:导航守卫是一个可以在路由跳转时进行拦截的函数。我们可以使用导航守卫来实现路由的权限控制、页面加载状态管理等功能。

本节主要介绍的就是history和hash模式,首先我们来看看history模型

🍋history模式

在 history 模式下,Vue Router 使用浏览器提供的 History API 来管理路由状态。这种模式下的 URL 更加友好,不再需要 # 符号。
特点

无 # 符号:history 模式的 URL 更加美观,不含有 # 符号,更符合传统 URL 的表现形式。
需要服务器支持:由于 history 模式使用了 History API,因此需要服务器的支持。在生产环境中,需要配置服务器以支持对所有页面的访问都返回同一个 HTML 文件,以便在路由跳转时正确加载应用程序。

使用场景

需要SEO:对于需要被搜索引擎索引的应用,使用 history 模式更为合适,因为搜索引擎可以正确解析这种形式的 URL。


上节我们使用的就是history模式
在这里插入图片描述

🍋Hash模式

在 hash 模式下,URL 中的 # 符号被用作路由地址与其后面的参数(称为哈希)的分隔符。因此,http://example.com/#/foo 和 http://example.com/#/bar 都属于 hash 模式下的 URL。
特点

兼容性良好:hash 模式的 URL 兼容性较好,因为在大部分浏览器中,改变 URL 中的哈希不会重新加载页面。
简单实现:hash 模式不需要服务器端的额外配置,可以直接在前端实现。

使用场景

静态站点:对于静态站点或不需要SEO的应用,hash 模式是一个简单而有效的选择。

如果我们想用Hash模式,和上一节一样我们导入

import {createWebHashHistory} from 'vue-router'

之后我们修改一下

history:createWebHashHistory(),

运行后的界面的地址栏就会有#了

在这里插入图片描述

🍋to的两种写法

这里或许有人忘了to在哪里出现过吧,提醒一下RouterLink,路由跳转的组件

下面是两种to的写法,具体用哪个具体情况具体分析,效果一样

<RouterLink to="/about" active-class="MT">关于</RouterLink>
<RouterLink :to="{path:'/about'}" active-class="MT">关于</RouterLink>

🍋总结

在开发过程中,可以根据实际需求选择合适的模式来使用

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535376.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10分钟学会使用Jmeter工具做接口自动化测试

在软件开发领域&#xff0c;接口自动化测试变得越来越重要。 你可能听说过JMeter这个工具&#xff0c;在进行接口自动化测试方面&#xff0c;它是一个功能强大、易于使用的免费测试工具。如果你想学习如何使用JMeter进行接口自动化测试&#xff0c;那么你来对地方了&#xff0…

Redis-自动过期

1 EXPIRE、PEXPIRE&#xff1a;设置生存时间 用户可以通过执行EXPIRE命令或者PEXPIRE命令为键设置一个生存时间&#xff08;Time To Live, TTL&#xff09;&#xff1a;键的生存时间在设置之后就会随着时间的流逝而不断地减少&#xff0c;当一个键的生存时间被消耗殆尽时&#…

echarts line绘制机组开关状态折线图

2024.3.12今天我学习了如何用echarts line实现设备开关状态的效果。 代码如下&#xff1a; option {xAxis: {type: time,},yAxis: {type: value,splitNumber:2,// axisLine: {// show: true,// lineStyle: {// color:#808080// }// },axisLabel:{formatt…

二、vue-cli项目搭建

系列文章&#xff1a; vue实战&#xff08;商城后台管理系统&#xff09;&#xff1a;http://t.csdnimg.cn/f6Fqa vue.js :http://t.csdnimg.cn/mljxv 目录 系列文章&#xff1a; vue实战&#xff08;商城后台管理系统&#xff09;&#xff1a;http://t.csdnimg.cn/f6Fqa vue…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextTimer)

通过文本显示计时信息并控制其计时器状态的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TextTimer(options?: TextTimerOptions) 参数&#xff1a; 参数名参数类型…

Consul 配置持久化

当我们在consul的key-value中配置了几个字段 访问后的结果: 但是当我们在控制台输入命令重启consul服务后: consul agent -dev 刚刚设置的key-value值便消失不见了 此时就要进行 consul 持久化配置. 第一步:在consul文件夹下创建 1.空文件夹mydata 2.新建文件consul_star…

“批量记录,轻松修改:让收支明细管理更高效!“

在繁忙的现代生活中&#xff0c;管理个人收支明细成为了我们理财的重要一环。晨曦记账本&#xff0c;作为一款功能强大的记账工具&#xff0c;致力于帮助用户轻松记录和管理每一笔收支&#xff0c;让财务更加清晰、有序。 第一步&#xff0c;首先我们要记进入晨曦记账本主页面…

electron + vtkjs加载模型异常,界面显示类似于图片加载失败的图标

electron vtkjs加载模型显示异常&#xff0c;类似于图片加载失败的效果&#xff0c;如上图。 electron开发版本&#xff1a;13。 解决方法&#xff1a;升级electron版本号。 注意&#xff1a;win7最高兼容electron 22版本。

云端渲染中如何确保数据安全?

随着数字内容创作领域的蓬勃发展&#xff0c;人们对于高效且优质的渲染技术的需求日益迫切。云渲染技术作为一种新兴的渲染技术&#xff0c;获得了业界的广泛关注。它利用云计算的优势&#xff0c;将渲染任务分配到云端服务器上进行处理&#xff0c;从而大大提高了渲染效率和质…

pcl弧度角度换算:rad2deg,deg2rad

角度弧度换算公式: 代码及结果在:cmath 中cos sin等常用函数的坑(弧度角度换算)-CSDN博客 pcl也有自带的rad2deg,deg2rad: 头文件 #include<pcl/common/angles.h> 代码如下 #include <iostream> #include<pcl/common/angles.h> int main() {vector<…

北京银行助力首批消费类公募REITs成功上市 担任嘉实物美消费REIT托监管行

3月12日&#xff0c;由北京银行担任托监管行并参与战配投资的嘉实物美消费REIT在上交所成功上市。这也让北京银行成为全国首家担任公募REITs托监管银行的城商行&#xff0c;亦是首家参与首批消费基础设施公募REITs战略投资的城商行&#xff0c;成功跻身商业银行综合服务公募REI…

软件设计师:01-计算机组成原理与体系结构(备考)

章节章节01-计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础02 - 操作系统基本原理08 - 设计模式03 - 数据库系统09 - 软件工程04 - 计算机网络10 - 面向对象05 - 数据结构与算法11 - 结构化开发与UML06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题End -…