Vue路由 传参几种方式

2023-10-27

① 动态路由传参

{path:'detail/:username?',name:'a', component:()=>import('@/components/Detail.vue')}

<router-link to="/news/detail/老郭">新闻详情页1</router-link>
http://localhost:8081/#/news/老郭

该种方式最为简单,:username相当于接收一个动态参数,随路由跳转时携带,在目标组件内进行接收,参数会在地址栏最后,组成地址的一部分,如果不传参数跳转会发生错诶。

http://localhost:8081/#/news/detail/老郭

接收方法:

 <h1>新闻详情参数:{{$route.params.username}}</h1>

所以为了防止不传参时,跳转路径错误 在动态参数后面加一个  ? (:username?) ,表示可传可不传。

②  声明式路由传参(命名式)

 <router-link :to="{name:'a',params:{username:'老郭'}}">新闻详情页3</router-link>
 <router-link :to="{name:'a',query:{username:'老郭'}}">新闻详情页3</router-link>

name是给路由起的别名,由于路径太长不便于操作,类似 : 姓名 <===>身份证号

a===/news/detail  其中detail是news的子路由

但地址栏始终是path的路径,最重要的应用场景是配合params进行传参

③  编程式路由(params && query)

  goDetail(){
                 this.$router.push({
                  // query 传参
                  path:'/news/detail',
                  query:{
                  username:this.username
                  },
                  // params 传参
                   name:'a',
                   params:{
                    username:this.username
                  },
                 })
             }

当需要事件触发时,用编程式路由

区别

1. params 只能与name配合使用 与  path 配合无效

     query 与name  && path  配合使用皆可

2.  params 类似于post 

    query 类似于  get  参数会 拼接在路径后面

3.  params 收到参数 刷新会丢失  。解决方法 : 配置动态路由  参数名即为 params 内参数的名字    动态路由  :参数   相当于 params :{参数: }

  params:{
                  
      username:this.username
                  },

 {path:'detail/:username?',name:'a', component:()=>import('@/components/Detail.vue')}

 query 传递参数 刷新不会丢失

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue路由 传参几种方式 的相关文章

随机推荐

  • 红米note9pro刷鸿蒙,红米Note9Pro稳定版刷机包(官方系统固件升级包MIUI11)

    Redmi Note 9 Pro采用6 67英寸打孔屏 搭载高通骁龙750G 内置4820mAh大电池 搭载前后双玻璃机身 覆盖大猩猩第五代玻璃 正面为居中挖孔全面屏设计 6 67英寸屏幕 保留3 5mm耳机孔 采用侧面指纹识别 背部为居中
  • 微信小程序分享功能总结

    小程序实现分享功能有如下三种方式 1 在js文件中实现onShareAppMessage函数 即可点击右上角菜单分享给微信好友 页面中默认已实现 在js文件中实现onShareTimeline函数 即可点击右上角菜单分享到微信朋友圈 需要自
  • 联盟链走向何方

    联盟链技术哪家强 开源架构Fabric FISCO BCOS 以下简称 BCOS CITA 技术对比 出品 碳链价值研究院 01 摘要 第 46 届世界经济论坛达沃斯年会将区块链与人工智能 自动驾驶等一并列入 第四次工业革命 经济学人 曾在
  • qt5.5.1 移植4412的问题过程

    编译错误 WTF wtf unicode wchar UnicodeWchar h In function bool WTF Unicode isAlphanumeric UChar WTF wtf unicode wchar Unicod
  • 开源项目部署之悟CRM部署 PHP服务端版

    文章目录 前言 一 部署环境 二 部署流程 1 安装宝塔等基础环境 2 部署CRM 点击安装即可 在这里插入图片描述 https img blog csdnimg cn 4f83ede5d3f74343a927f8a641c25e19 pn
  • 助推打造全球研发中心城市

    阿里 社招 一面 面不动了 真的面不动了一 项目挑一个你觉得最有挑战性的细说 有些细节被质疑了 嘴在前面飞脑子在后面追 以后说每一句话都要小心 笑cry 二 八股1 聚簇索引和非 题解 检索产品名称和描述 一 select prod nam
  • 3D关键点检测(2020-2017)

    3D关键点检测 1 3D关键点检测之PoseDRL Deep Reinforcement Learning for Active Human Pose Estimation AAAI2020 这篇文章可能与我们通常所处理的姿态估计任务略有不
  • 【BEV】BEVDet

    BEVDet 解析 BEVDet 模型 bevdet r50 训练配置 Scale NMS 优化配置 推理记录 注册 随机种子 总结 BEVDet BEVDet继承于CenterPoint gt MVTwoStageDetector 模型实
  • 射频工程师笔记---射频通信基础

    文章更新或问题可关注本人公众号 回顾一下移动通信技术的发展 其实是互联网和通信技术的融合过程 在这个过程中 很多应用都在不断加入其中 比如计算机跟通信的融合产生了互联网 互联网跟手机的融合带来了移动互联网 手机可以看杂志 看视频 听音乐 于
  • SpringCLoud——服务的拆分和远程调用

    服务拆分 服务拆分注意事项 一般是根据功能的不同 将不同的服务按照功能的不同而分开 微服务拆分注意事项 不同微服务 不要重复开发相同业务 微服务数据独立 不要访问其他微服务的数据库 微服务可以将自己的业务暴露为接口 供其他微服务调用 远程调
  • C++ 数据结构与算法(五)(哈希表)

    哈希表 1 定义 哈希表 Hash table 也称散列表 是根据关键码的值而直接进行访问的数据结构 一般哈希表都是用来快速判断一个元素是否出现集合里 只需要在初始化时用哈希函数 hash function 将这些元素映射在哈希表的索引上
  • WJ的Direct3D简明教程2:Render-To-Texture

    转载请注明 来自http blog csdn net skyman 2001 Rendering to a texture is one of the advanced techniques in Direct3D On the one h
  • Unity绘制户型(一)

    户型绘制主要对象数据 点 线 面 部件 门窗 主要难点是通过绘制的点寻找闭合多边形 多边形的生成 3D墙体的生成 门窗要在墙体上留下孔洞这四个功能 这篇文章我只写前两个问题 后面来两个问题单独再写一篇文章 1 如何寻找闭合多边形 我的方法是
  • 内容管理系统测试实战

    使用django和restframework开发接口 使用postman测试接口 使用unittest和requests模块测试接口 目录 Django安装 Django Rest Framework 创建API应用 数据库迁移 创建超级管
  • C++11中pair的用法

    概述 pair可以将两个数据组合成一种数据类型 C 标准库中凡是必须返回两个值的函数都使用pair pair有两个成员变量 分别是first和second 由于使用的struct而不是class 因此可以直接访问pair的成员变量 基本用法
  • Python_某宝某东秒杀抢购

    纯学习分享 只用于学习用途 请勿用于任何商业用途 本人不承担任何责任 视频编写过程 某宝秒杀程序 某宝源码 from selenium import webdriver from selenium webdriver common by i
  • springboot配置shiro多项目实现session共享的详细步骤

    springboot配置shiro多项目实现session共享的详细步骤 项目的配置步骤我已写到另一篇文章中 shiro框架 多项目登录访问共享session的实现 springboot redis shiro 的实现项目已共享到GitHu
  • 关于Tomcat端口被占用的情况

    今天打开eclipse突然发现运行不了 报错的提示为 Several ports 8005 8080 8009 required by Tomcat v7 0 Server at localhost are already in use 有
  • Android studio遇到问题:Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

    前言 在使用android studio时 配置模拟器的时候一直在报错这个 然后网上找到问题 并实际解决了问题 在这里记录下 目录 问题原因 没有配置环境的情况下 是因为他默认找的是这个路径的AVD 问题很明显了 中文路径导致的 C Use
  • Vue路由 传参几种方式

    动态路由传参 path detail username name a component gt import components Detail vue