Vue: 声明式导航(router-link)的跳转传参的两种方式

news/2024/11/28 2:54:22/

声明式导航-跳转传参

文章目录

    • 声明式导航-跳转传参
          • 1. 查询参数传参
          • 代码示例:
          • 2. 动态路由传参
    • 动态路由参数可选符


只要提到了声明式导航,就得想到(router-link)


1. 查询参数传参

语法:

  1. to="path?参数名=值"
  2. 对应页面组件接收传递过来的值: $route.query.参数名

代码示例:
1. 在路由跳转的时候进行传值   
<router-link to="/search?key=注重过程">注重过程</router-link><router-link to="/search?key=不要急躁">不要急躁</router-link><router-link to="/search?key=怎么学习好Vue呢">怎么学习好Vue呢</router-link>2. 对应页面组件接收传递过来的值: <p>搜索关键字: {{$route.query.key}} </p>发请求的时候一定要使用this (获取路由传递过来的参数)created () {// 在created中,获取路由参数// this.$route.query.参数名   获取console.log(this.$route.query.key)}

2. 动态路由传参

① 配置动态路由:

const router = new VueRouter({routes: [...,{path: 'search/:words',component: Search}]
})

②配置导航链接: to="/path/参数名"

      <router-link to="/search/注重过程">注重过程</router-link><router-link to="/search/不要急躁">不要急躁</router-link><router-link to="/search/怎么学习好Vue呢">怎么学习好Vue呢</router-link>

③对应页面组件接收传递过来的值:$route.params.参数名

    <p>搜索关键字: {{$route.params.words}} </p>created () {// 在created中,获取路由参数// this.$route.query.参数名   获取查询参数// this $route.params.参数名  获取动态路由参数console.log(this.$route.params.words)}

两种传参的区别

  1. 查询参数传参(比较适合传多个参数)
    • ① 跳转: to=“/path?参数名=值&参数名2=值”
    • ② 获取:$route.query.参数名

  1. 动态路由传参(优雅简洁,传单个参数比较方便)
  • ① 配置动态路由: path:“path/:参数名”
  • ② 跳转:to=“/path/参数值”
  • ③ 获取:$route.params.参数名

动态路由参数可选符


问题:我们再配了路由 path: “/search/:words” 为什么会匹配不到组件呢,显示空白?


原因:/search/:words 表示,必须要传参数。如果不传递参数,由于是动态的传参,所以还是会进行匹配,可以加个可选符号?


const router = new VueRouter({routes: [...,{//在参数名后面添加一个?即可解决跳转空白path: 'search/:words?',component: Search}]
})

http://www.ppmy.cn/news/1078792.html

相关文章

VMware tools的安装以及按钮灰色的解决方法

VMware tools的安装 ** 注意&#xff1a;** 新版本的 VMware 会自动安装的 VMware tools&#xff0c;如何测试 VMware tools 呢&#xff1f;在Windows 系统里复制一段话&#xff0c;能粘贴到 Ubuntu 系统里终端里&#xff0c;说明 VMware tools 已经安装了。 没有安装的请参考…

鉴源实验室 | 软件代码结构化覆盖测试-分支覆盖

作者 | 李伟 上海控安安全测评部总监 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 引言&#xff1a; 上一篇开始我们介绍白盒的代码结构覆盖率测试&#xff0c;已经完成了语句覆盖测试的讲解&#xff0c;本篇我们介绍分支覆盖。 01…

js对中文进行base64编码和解码操作,解决中文乱码问题

我使用github api的接口获取文件内容&#xff0c;然后使用atob进行解码&#xff0c;但是发现&#xff1a;乱码.......糟心啊 所以就有了我封装的方法&#xff1a; export const encode64 (str) > {// 首先&#xff0c;我们使用 encodeURIComponent 来获得百分比编码的UTF…

vue3 页面显示中文,分页显示中文

vue3 分页默认为英文 &#xff0c;但想要中文显示 那么在App.vue中的代码为三步即可&#xff0c;引入中文&#xff0c;声明中文 &#xff0c;绑定中文&#xff1b; 1. import zhCn from element-plus/es/locale/lang/zh-cn&#xff1b; 2. let locale zhCn; 3. :locale&q…

Oracle常用权限处理

对于Oracle来说&#xff0c;用户等于Schema&#xff0c;创建用户即创建Schema -- 创建用户 create user TCK_TEXT identified by "TCKTCK"; --赋予登陆权限 grant connect to TCK_TEXT; --查看权限列表 select * from user_role_privs ; select * from user_sys_priv…

跳转语句(个人学习笔记黑马学习)

break语句 #include <iostream> using namespace std;int main() {cout << "请选择副本难度" << endl;cout << "1、普通" << endl;cout << "2、中等" << endl;cout << "3、困难" <…

第五课:C++实现加密PDF文档解密

请注意,未经授权的加密PDF文件解密是非法的,本文仅为学术和研究目的提供参考。 打开加密的PDF文件并获取密钥 在C++中,可以使用pdfium库打开加密的PDF文件。使用pdfium库中的FPDF_LoadCustomDocument函数可以打开具有自定义访问权限的加密文件。该函数接受一个IFX_FileRead*…

分布式集群框架——有关zookeeper的面试考点

3.掌握Zookeeper的概念 当涉及到大规模分布式系统的协调和管理时&#xff0c;Zookeeper是一个非常重要的工具。 1. 分布式协调服务&#xff1a;Zookeeper是一个分布式协调服务&#xff0c;它提供了一个高可用和高性能的环境&#xff0c;用于协调和同步分布式系统中的各个节点…