【Vue3】深入理解Vue3路由器的工作原理&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>
🍋总结
在开发过程中,可以根据实际需求选择合适的模式来使用
- 点赞
- 收藏
- 关注作者
评论(0)