当前位置: 首页 > article >正文

【vue-router】useRoute 和 useRouter 的区别

🚀 作者主页: 有来技术
🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot
🌺 仓库主页: Gitee 💫 Github 💫 GitCode
💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正!

目录

  • 引言
  • 官方文档
  • useRoute 函数
  • useRouter 函数
  • useRoute 和 useRouter 区别
  • 结语
  • 开源项目

引言

在 Vue 3.2 中,Vue Router 提供了一些新的 API 以更好地与 Composition API 集成。其中,useRouteuseRouter 是两个重要的函数,用于在组件中访问当前路由信息和路由实例。在本文中,我们将探讨这两个函数的区别,并提供一些示例代码。

官方文档

https://router.vuejs.org/zh/api/#Functions-useRoute

useRoute 函数

useRoute 函数用于在组件中获取当前路由的信息,返回一个包含路由信息的对象。这个函数适用于那些不需要监听路由变化的场景,只是获取当前路由信息的静态数据。

示例代码:

<template>
  <div>
    <!-- 当前路由信息展示 -->
    <h1>当前路由信息</h1>
    <p>路径:{{ route.path }}</p>
    <p>名称:{{ route.name }}</p>
    <!-- 其他路由信息 -->
  </div>
</template>

<script setup lang="ts">
import { useRoute } from 'vue-router';

// 使用 useRoute 函数获取当前路由信息
const route = useRoute();
</script>

在这个示例中,我们使用 useRoute 获取当前路由信息,并在模板中显示了一些路由属性,比如路径和名称。

useRouter 函数

useRouter 函数用于获取路由实例,可以通过它来进行一些动态的路由操作,比如跳转到新的路由。它返回一个包含路由实例的对象。其中包括当前路由信息。
在这里插入图片描述

示例代码:

<template>
  <div>
    <!-- 路由操作 -->
    <h1>路由操作</h1>
    <button @click="navigateToHome">前往首页</button>
  </div>
</template>

<script setup lang="ts">
import { useRouter } from 'vue-router';

// 使用 useRouter 函数获取路由实例
const router = useRouter();

// 处理按钮点击事件,进行路由跳转到首页
const navigateToHome = () => {
  // 使用 router.push 进行路由跳转
  router.push('/');
};
</script>


在这个示例中,我们使用 useRouter 获取路由实例,并通过点击按钮触发 navigateToHome 函数进行路由跳转。

useRoute 和 useRouter 区别

  • useRoute 主要用于获取当前路由的信息,适用于静态展示当前路由信息的场景。
  • useRouter 主要用于获取路由实例,适用于需要进行动态路由操作的场景,比如跳转到新的路由。

在一些场景中,我们可能需要同时使用这两个函数,例如在获取当前路由信息的同时,需要进行一些动态的路由操作。

示例代码:

<template>
  <div>
    <!-- 显示当前路由信息 -->
    <h1>Current Route Information</h1>
    <p>Path: {{ route.path }}</p>
    <p>Name: {{ route.name }}</p>
    <!-- 其他路由信息 -->

    <!-- 跳转到 About 页面的按钮 -->
    <button @click="navigateToHome">前往首页</button>
  </div>
</template>

<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router';

// 使用 useRoute 获取当前路由信息
const route = useRoute();

// 使用 useRouter 获取路由实例
const router = useRouter();

// 处理按钮点击事件,进行路由跳转
const navigateToHome= () => {
  // 使用 router.push 进行路由跳转
  router.push('/about');
};
</script>

在这个示例中,我们同时使用了 useRoute 获取当前路由信息和 useRouter 进行路由跳转。

结语

总体而言,useRouteuseRouter 是 Vue Router 在 Composition API 中提供的两个重要的函数,它们分别用于获取当前路由信息和路由实例,为我们在组件中更方便地处理路由相关逻辑提供了强大的工具。

开源项目

  • SpringCloud + Vue3 微服务商城
GithubGitee
后端youlai-mall 🍃youlai-mall 🍃
前端mall-admin🌺mall-admin 🌺
移动端mall-app 🍌mall-app 🍌
  • SpringBoot 3+ Vue3 单体权限管理系统
GithubGitee
后端youlai-boot 🍃youlai-boot 🍃
前端vue3-element-admin 🌺vue3-element-admin 🌺

http://www.kler.cn/a/158262.html

相关文章:

  • 04数据平台Flume
  • 第三方支付原理
  • 【SpringCloud】注册中心和Ribbon负载均衡
  • Android : AndroidStudio开发工具优化
  • 向量 + 超融合,打造大模型应用的数据中枢
  • 解析原理:微信自动查找优惠券做返利机器人是如何实现的?
  • 医疗保健巨头Henry Schein 35TB数据被窃
  • (04730)电路分析基础之电阻、电容及电感元件
  • eclipse jee中 如何建立动态网页及服务的设置问题
  • 【Latex笔记】标题页
  • 云计算——ACA学习 虚拟化技术概述
  • mysql安装环境
  • PyQt pdf格式保存
  • Redis服务器安装配置
  • 【华为OD题库-048】拔河比赛-java
  • 库函数qsort的使用及利用冒泡排序模拟实现qsort
  • Linux修改时区失败,手动修改localtime无效
  • 服务器数据恢复—服务器断电导致XenServer数据文件丢失的数据恢复案例
  • idea创建spring boot项目,java版本只能选择17和21
  • 嵌入式面试题