title: useRoute 函数的详细介绍与使用示例

date: 2024/7/27

updated: 2024/7/27

author: cmdragon

excerpt:

摘要:本文介绍了Nuxt.js中useRoute函数的详细用途与示例,展示了如何在组合式API中使用useRoute获取当前路由信息,包括动态参数、查询参数等,并提供了丰富的计算引用说明,如fullPath、hash、matched等,以及如何正确访问查询参数。

categories:

  • 前端开发

tags:

  • Nuxt.js
  • useRoute
  • 路由
  • API
  • 组件
  • 查询
  • 动态



扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长

在nuxt.js开发中,useRoute是一个非常实用的组合函数,它能够帮助我们获取当前路由的各种信息,从而实现更加灵活和动态的页面交互。

一、useRoute 函数的基本作用

useRoute函数的主要作用是返回当前路由的相关信息。在 Vue 组件的模板中,我们可以使用$route来访问路由,但在组合式 API

中,就需要使用useRoute

二、示例展示

以下是一个使用动态页面参数slug来通过useFetch调用 API 的示例:

<template>
<div>
<h1>{{ mountain.title }}</h1>
<p>{{ mountain.description }}</p>
</div>
</template> <script> export default {
setup() {
const route = useRoute();
const { data: mountain } = await useFetch(`/api/mountains/${route.params.slug}`);
return {
mountain
};
}
};
</script>

在上述示例中,通过useRoute获取到当前路由的params中的slug值,然后将其拼接到 API 路径中,使用useFetch获取数据并在页面中展示。

三、useRoute 提供的计算引用

除了动态参数和查询参数,useRoute还提供了以下丰富的计算引用:

  1. fullPath:这是与当前路由关联的编码 URL,包含路径、查询和哈希。例如,如果当前 URL

    https://example.com/page?param=value#hash,那么 fullPath将是完整的这个字符串。
  2. hash:获取 URL 中以#开头的解码哈希部分。
  3. matched:这是与当前路由位置匹配的规范化的匹配路由数组。
  4. meta:可以用于附加到路由记录的自定义数据。
  5. name:路由记录的唯一名称。
  6. path:获取 URL 中编码的路径名部分。
  7. redirectedFrom:记录在到达当前路由位置之前尝试访问的路由位置。

四、查询参数的获取

如果您需要访问路由的查询参数(例如在路径/test?example=true中的example),那么可以使用useRoute().query

而不是useRoute().params

余下文章内容请点击跳转至 个人博客页面 或者 扫码关注或者微信搜一搜:编程智域 前端至全栈交流与成长,阅读完整的文章:https://blog.cmdragon.cn/posts/eb8617e107bf/

往期文章归档:

useRoute 函数的详细介绍与使用示例的更多相关文章

  1. WordPress菜单函数wp_nav_menu()详细介绍

    导航菜单函数wp_nav_menu()进行详细的说明. 1.wp_nav_menu()函数介绍: worpdress发展到3.0以后增加了一个自定义菜单函数wp_nav_menu(),使得wordpr ...

  2. Java linkedList详细介绍及使用示例

    ①LinkedList简单介绍 是一个继承于AbstractSequentialList的双向链表.它可以被当成堆栈.队列或双端队列进行操作. 实现了List接口,能对它进行队列操作. 实现了Dequ ...

  3. PHP截断函数mb_substr()详细介绍

    [导读] 在php中mb_substr()函数是用来截中文与英文的函数,可以方便快速的解决截取指定字符长度的问题,下面我来给大家介绍介绍.提示:mb_substr在于php中是默认不被支持的我们需要在 ...

  4. Java ArrayList详细介绍和使用示例

    ①对ArrayList的整体认识 ArrayList是一个数组队列,相当于动态数组.与Java中的数组相比,它的容量能动态增长.它继承了AbstractList,实现了List,RandomAcces ...

  5. Java Vertor详细介绍和使用示例

    ①对Vector有个整体认识 Vector是向量类,继承于AbstractList,实现了List,RandomAccess,Clonable这些接口. Vector继承于AbstractList,实 ...

  6. Java TreeMap详细介绍和使用示例

    ①对TreeMap有个整体认识 TreeMap是一个有序的key-value集合,它是通过红黑树实现的. TreeMap继承于AbstractMap,所以它是一个Map,即key-value集合. T ...

  7. Java Hashtable详细介绍和使用示例

    ①对Hashtable有个整体认识 和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射.Hashtable 继承于Dictionary,实现了Ma ...

  8. PHP数组详细介绍(带示例代码)

    PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合 ...

  9. Java HashMap详细介绍和使用示例

    ①对HashMap的整体认识 HashMap是一个散列表,它存储的内容是键值对(key-value)映射. HashMap继承于AbstractMap,实现了Map.Cloneable.java.io ...

  10. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

    概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...

随机推荐

  1. ABP邮件发送

    ABP  Vnext发邮件要使用AbpMailKitModule的实现IEmailSender,要检查添加了Volo.Abp.MailKit,其dependon 要添加typeof() 它使用Sett ...

  2. 前端项目报EISDIR: illegal operation on a directory, read这个错误

    背景: 我用webstorm开发前端页面时,项目用Vue3来开发,出现如下报错. 原因: 这个报错是由于代码中引入的一些组件或者模块路径不正确导致的,在vue2中,引入组件是下面这样写的: impor ...

  3. 微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor

    前言 今天大姚给大家分享一个由微软官方开源(MIT License).免费的Blazor UI组件库:Fluent UI Blazor. 全面的ASP.NET Core Blazor简介和快速入门 F ...

  4. Pod安全策略:PodSecurityPolicy(PSP)

    目录 一.系统环境 二.前言 三.PodSecurityPolicy 简介 四.为什么需要 PodSecurityPolicy 五.给客户端授权 六.启用PodSecurityPolicy(PSP) ...

  5. kettle从入门到精通 第五十课 ETL之kettle 课程源文件分享

    Kettle 是一款功能强大的开源 ETL 工具,被广泛应用于数据集成.数据转换和数据加载等领域.随着数据量和多样性的不断增加,使用 Kettle 进行数据处理已成为许多企业和数据工程师的首选.在过去 ...

  6. 加入域 " " 时出现了以下错误

    加入域 " " 时出现了以下错误: 因为文件共享不安全,所以你不能连接到文件共享.此共享需要过时的 SMB1 协议,而此协议是不安全的,可能会使你的系统遭受攻击. 你的系统需要 S ...

  7. Selenium模块的使用(二)

    selenium处理iframe - 如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id) - 动作链(拖动):from selenium.webdriver i ...

  8. JavaScript通过递归实现深拷贝

    思路 首先是用Object.prototype.toString.call(obj)来得到传入的值的类型,如果是几个基本类型,则直接返回值就可以了 如果是引用类型,则通过深拷贝函数递归进行再次拷贝. ...

  9. 安装 Nuxt.js 的步骤和注意事项

    title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue. ...

  10. 以沙箱的方式运行容器:安全容器gvisor

    目录 一.系统环境 二.前言 三.安全容器隔离技术简介 四.Gvisor简介 五.容器runtime简介 六.docker容器缺陷 七.配置docker使用gVisor作为runtime 7.1 安装 ...