vue-router学习3:路由传参方式

路由传参的方式主要有两种:query传参和params传参。

1. Query 传参

首先,在路由配置文件中(通常是 router/index.ts),定义你的路由:

import { createRouter, createWebHistory } from 'vue-router';  
import Home from '../views/Home.vue';  
import Search from '../views/Search.vue';  const routes = [  {  path: '/',  name: 'Home',  component: Home  },  {  path: '/search',  name: 'Search',  component: Search  }  
];  const router = createRouter({  history: createWebHistory(process.env.BASE_URL),  routes  
});  export default router;

然后,在组件中导航到带查询参数的路由:

<template>  <button @click="goToSearch">Go to Search</button>  
</template>  <script lang="ts">  
import { defineComponent } from 'vue';  
import { useRouter } from 'vue-router';  export default defineComponent({  setup() {  const router = useRouter();  const goToSearch = () => {  router.push({ name: 'Search', query: { keyword: 'vue3' } });  };  return { goToSearch };  },  
});  
</script>

在目标组件 Search.vue 中接收查询参数:

<template>  <div>  <p>Search for: {{ searchKeyword }}</p>  </div>  
</template>  <script lang="ts">  
import { defineComponent, computed } from 'vue';  
import { useRoute } from 'vue-router';  export default defineComponent({  setup() {  const route = useRoute();  const searchKeyword = computed(() => route.query.keyword);  return { searchKeyword };  },  
});  
</script>

2. Params 传参

在路由配置中,你需要为 params 预留位置:

const routes = [  // ...其他路由  {  path: '/user/:id',  name: 'User',  component: User  }  
];

导航到带参数的路由:

<template>  <button @click="goToUser">Go to User</button>  
</template>  <script lang="ts">  
import { defineComponent } from 'vue';  
import { useRouter } from 'vue-router';  export default defineComponent({  setup() {  const router = useRouter();  const goToUser = () => {  router.push({ name: 'User', params: { id: 123 } });  };  return { goToUser };  },  
});  
</script>

在目标组件 User.vue 中接收参数:

<template>  <div>  <p>User ID: {{ userId }}</p>  </div>  
</template>  <script lang="ts">  
import { defineComponent, computed } from 'vue';  
import { useRoute } from 'vue-router';  export default defineComponent({  setup() {  const route = useRoute();  const userId = computed(() => route.params.id);  return { userId };  },  
});  
</script>

注意:  使用 params 传参时,路径中的参数部分是必须的,并且刷新页面后参数不会丢失,因为它们被包含在了 URL 路径中。而 query 传参的参数在 URL 的查询字符串中,可以自由选择是否包含,但刷新页面后参数依然会保留,除非用户手动更改或清除 URL。

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

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

相关文章

从递归角度串联二叉树-图论-动态规划

一、深度理解二叉树的前中后序遍历 二叉树遍历框架如下&#xff1a; void traverse(TreeNode* root) {if (root nullptr) {return;}// 前序位置traverse(root->left);// 中序位置traverse(root->right);// 后序位置 }先不管所谓前中后序&#xff0c;单看 traverse 函数…

常见的工业路由器访问问题

A&#xff1a;工业路由器已经设置了pptp怎么访问路由下面的电脑 1. 确认PPTP VPN设置&#xff1a;首先&#xff0c;确保PPTP VPN服务器在工业路由器上已正确设置&#xff0c;并且处于活动状态。这包括确保VPN服务器的IP地址、端口、用户名和密码等设置正确无误。 2. 连接到VP…

硬件24、嘉立创EDA丝印的优化和调整

1、调整全部丝印的属性 先选中一个丝印&#xff0c;然后右键点击它&#xff0c;选择查找&#xff0c;然后选择查找全部 选择查找全部这个时候可以设置所有丝印在元件的位置了&#xff0c;布局-》属性位置&#xff0c;位号&#xff0c;属性位置设置为上边&#xff0c;这时丝印就…

Linux红帽(RHCE)认证学习笔记 - (2)用户组和用户的管理

二、用户组和用户密码和用户组密码管理 ⽤户的添加(useradd) ⽤户的删除(userdel) ⽤户的修改(usermod) ⽤户的查看(查看/etc/passwd) id用户信息都是存放在 /etc/passwd 用户密码都是存放在 /etc/shadow 用户组信息都是存放在 /etc/group 用户组密码都是存放在 /etc/…

五、yolov8 tensorRT c++部署及接口封装(保姆级教程附源码)

采用 CTensorRT来部署深度学习模型有以下几个优点&#xff1a; 高性能推理&#xff1a;TensorRT是一个高性能的深度学习推理&#xff08;Inference&#xff09;优化器&#xff0c;专门为NVIDIA GPU硬件平台设计&#xff0c;能够提供低延迟、高吞吐量的模型推理性能。这意味着在…

深度学习pytorch实战4---猴逗病识别·

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 引言 1.复习上周并反思 K同学针对大家近…

STM32 float浮点数转换成四个字节

float浮点数转换成四个字节 在C或C中&#xff0c;联合体&#xff08;union&#xff09;是一种特殊的数据结构&#xff0c;它允许在相同的内存位置存储不同的数据类型。联合体中的所有成员共享同一块内存区域&#xff0c;这意味着同一时间内&#xff0c;联合体只能保存其中一个…

python爬虫 - 爬取html中的script数据(36kr.com新闻信息)

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法&#xff0c;爬取新闻3. 使用re.search 方法&#xff0c;爬取新闻 1. 分析页面内容数据格式 打开 https://36kr.com/ 按F12&#xff08;或 在网页上右键 --> 检查&#xff08;Inspect&#xff09;&#xff09; 找…

c++初阶——类和对象(中)

大家好&#xff0c;我是小锋&#xff0c;我们今天继续来学习类和对象。 类的6个默认成员函数 我们想一想如果一个类什么都没有那它就是一个空类&#xff0c;但是空类真的什么都没有吗&#xff1f; 其实并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以…

电脑提示丢失iutils.dll怎么办?一分钟教你搞定dll丢失问题

在计算机世界中&#xff0c;DLL&#xff08;Dynamic Link Library&#xff0c;动态链接库&#xff09;文件扮演着至关重要的角色&#xff0c;它们如同乐高积木中的基础模块&#xff0c;不同程序通过调用这些模块来实现各种功能。其中&#xff0c;iutils.dll就是这样一款不可或缺…

transformer 最简单学习3, 训练文本数据输入的形式

1、输入数据中&#xff0c;源数据和目标数据的定义 def get_batch(source,i):用于获取每个批数据合理大小的源数据和目标数据参数source 是通过batchfy 得到的划分batch个 ,的所有数据&#xff0c;并且转置列表示i第几个batchbptt 15 #超参数&#xff0c;一次输入多少个ba…

Java 异常

异常概念 Java异常是程序在执行过程中发生的错误事件&#xff0c;它打断了正常的流程控制流。 在Java中&#xff0c;异常被定义为一种特殊的对象&#xff0c;它们可以被抛出、捕获和处理。以下是关于Java异常的一些详细信息&#xff1a; 异常分类&#xff1a;Java中的异常分…

AI大模型评测问题集合

文章目录 编程能力测试工作场景价值观测试生活场景数学能力测试中文能力测试编程能力测试 第一题:Google 面试题,Python 题目 给定一组不同的整数数组,给出一个算法对这些整数进行随机排序,使每个重 排序方法的可能性相等。换句话说,给定一副牌,你要如何洗牌才能确保牌的…

vue2 mixin的用法

在 Vue 2 中&#xff0c;mixin 是一种分发 Vue 组件中可复用功能的非常灵活的方式。一个 mixin 对象可以包含任意组件选项。当组件使用 mixin 对象时&#xff0c;所有 mixin 对象的选项将被“混合”进入该组件本身的选项。 下面是如何在 Vue 2 中使用 mixin 的基本步骤&#x…

聚类分析字符串数组

聚类分析字符串数组 对多个字符串进行聚类分析旨在根据它们之间的相似度将这些字符串划分成若干个类别&#xff0c;使得同一类别内的字符串彼此相似度高&#xff0c;而不同类别间的字符串相似度低 小结 数据要清洗。清洗的足够准确&#xff0c;可能不需要用聚类分析了数据要…

C++ //练习 13.34 编写本节所描述的Message。

C Primer&#xff08;第5版&#xff09; 练习 13.34 练习 13.34 编写本节所描述的Message。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************************************************************>…

机器学习笔记-01

一…AI&#xff08;人工智能&#xff09; 二.机器学习–是人工智能实现的途径 三.深度学习–是机器学习的一个方法 1.机器学习能做什么&#xff1a; 1.1 传统预测 1.2 图像识别 1.3 自然语言处理&#xff08;nlp&#xff09; 2.数据集包含&#xff1a;特征值 目标值 3.机器学…

python绘制三维图

在Python中&#xff0c;我们可以使用matplotlib库中的mplot3d工具包来绘制三维图。下面是一个简单的例子&#xff0c;绘制了一个三维的散点图和一个三维曲面图&#xff1a; 首先&#xff0c;确保已经安装了matplotlib库。如果没有&#xff0c;可以通过pip进行安装&#xff1a;…

C#中的Task:异步编程的瑞士军刀

在现代软件开发中&#xff0c;异步编程已经成为处理I/O密集型任务和网络操作的重要手段。C#中的Task是.NET Framework 4.0引入的一个并发编程的抽象&#xff0c;它在后续的.NET Core和.NET 5中得到了进一步的发展和完善。Task代表了一个异步操作&#xff0c;可以等待它的完成&a…

统一所有 LLM API:支持预算与速率限制 | 开源日报 No.229

BerriAI/litellm Stars: 6.7k License: NOASSERTION litellm 是一个使用 OpenAI 格式调用所有 LLM API 的工具。它支持 Bedrock、Azure、OpenAI、Cohere、Anthropic 等 100 多种 LLMs&#xff0c;提供企业级代理服务器和稳定版本 v1.30.2。 主要功能和优势包括&#xff1a; 将…