vue 使用 this.$router.push 传参数,接参数的 query或params 两种方法示例

背景:vue项目 使用this.$router.push进行路由跳转时,可以通过query或params参数传递和接收参数。

通过query参数传递参数:

php 复制代码
// 传递参数
this.$router.push({
  path: '/target',
  query: {
    id: 1,
    name: 'John'
  }
});
// 接收参数
this.$route.query.id  // 1
this.$route.query.name  // 'John'

通过params参数传递参数(用于动态路由):

php 复制代码
// 传递参数
this.$router.push({
  name: 'target',
  params: {
    id: 1,
    name: 'John'
  }
});
// 接收参数
this.$route.params.id  // 1
this.$route.params.name  // 'John'

注意事项

query参数通过URL中的查询字符串传递,而params参数通过URL中的路径参数传递。根据你的实际需求和路由配置,选择适合的参数传递方式。

需要注意的是,使用params参数时,要确保目标路由配置中动态路由参数已正确声明。例如:

php 复制代码
// 路由配置
{
  path: '/target/:id',
  name: 'target',
  component: TargetComponent
}
相关推荐
卷帘依旧23 分钟前
JavaScript 闭包经典问题:为什么输出 10 次 i=10
javascript
柳杉41 分钟前
Three.js × Blender:从建模到 Web 3D 的完整工作流深度解析
前端·javascript·数据可视化
reembarkation2 小时前
vue3中使用howler播放音频列表
前端·vue.js·音视频
手握风云-2 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库
weixin199701080162 小时前
《识货商品详情页前端性能优化实战》
前端·性能优化
Forever7_2 小时前
重磅!Vue3 手势工具正式发布!免费使用!
前端·前端框架·前端工程化
用户806138166592 小时前
发布为一个 npm 包
前端·javascript
树上有只程序猿3 小时前
低代码何时能出个“秦始皇”一统天下?我是真学不动啦!
前端·后端·低代码
TT_哲哲3 小时前
小程序双模式(文件 / 照片)上传组件封装与解析
前端·javascript
菜果果儿3 小时前
Vue 3 + TypeScript 常用代码示例总结
前端