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


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/

往期文章归档:

相关推荐
用户77833661321111 小时前
serpbase + GraphQL wrapper 实战:让 SERP 数据走 GraphQL schema
数据库·api
星核0penstarry1 天前
Coding Plan vs 运营商Token Plan:先选对赛道,再谈性价比
大模型·api
用户7783366132111 天前
4 种 SERP 监控告警方式对比:Slack / Email / Webhook / SMS
api
dogstarhuang3 天前
从 0 到 1 搭建可收费的 API 开放平台(实战)
java·架构·api
林小果14 天前
用 Codex 做一个 API 地址诊断器:Claude Code、Codex、Gemini CLI 的 /v1 排错实战
api·ai编程·codex·claude code·gemini cli·base url·linkagi
荡神咩4 天前
windows系统使用glm将claude接入PyCharm2026
pycharm·api
用户7783366132114 天前
SERP API + Server-Sent Events 实时流式推送实战
api
豌豆学姐4 天前
likeadmin-api 视频生成工作流实战:Seedance 2.0 接口从素材到任务查询
aigc·音视频·api·视频生成·likeadmin-api
ServBay4 天前
AI Gateway 指南,如何用统一网关管理多模型 API
aigc·api·ai编程
凉凉的知识库5 天前
用 GPT-5.6 SOL 写了个 VS Code 插件,效果出乎意料
api·测试·visual studio code