Vue路由传参实战指南:三种常用方法示例演示

简介: Vue路由传参实战指南:三种常用方法示例演示

一、params传参

在路由定义中给每个路由设置一个唯一的名称,然后通过名称来传递参数。例如,定义一个带有命名路由的路由,

在组件中可以通过$router.push或的to属性来传递参数:

// 传递参数
this.$router.push({ 
  name:"admin",    
  params:{id:item.id} //这里的params是一个对象,id是属性名,item.id是值(可以从当前组件或者Vue实例上直接取) 
}) 

// 路由定义
{  
  //组件路径 
  path: '/admin',  
  //组件别名 
  name: 'admin',  
  //组件名 
  component: Admin, 
} 

// 接收参数
this.$route.params.id


注意:获取参数的时候是 $route,跳转和传参的时候是 $router

  • 优点:参数通过路由名称传递,不依赖具体的URL;适合传递动态参数。
  • 缺点:需要提前定义路由名称。
  • 使用场景:传递动态参数,并且不依赖具体的URL。


二、路由属性配置传参:

在路由定义中使用动态路径参数来传递参数。例如,定义一个带有参数的路由:

// 传递参数
this.$router.push({
  name:"/admin/${item.id}", 
}) 

// 路由定义
{   
  //组件路径 
  path: '/admin/:id',   
  //组件别名 
  name: 'admin',   
  //组件名 
  component: Admin, 
}

// 接收参数
this.$route.params.id

注意 this. $router.push 方法里面路径带的是值,路由配置项那里带的是变量名(属性名)来实现的对应;


  • 优点:参数直接嵌入在URL中,易于理解和传递;适合传递单个参数。
  • 缺点:不适合传递多个参数;参数必须在路由定义中提前声明。
  • 使用场景:传递单个参数,例如用户ID、商品ID等。


三、query传参

在URL中使用查询字符串来传递参数。例如,定义一个带有查询参数的路由:

// 传递参数
this.$router.push({ 
  name:"/admin",     
  query:{id:item.id} 
}) 

// 路由定义
{   
  //组件路径 
  path: '/admin',   
  //组件别名 
  name: 'admin',   
  //组件名 
  component: Admin, 
}

// 接收参数
this.$route.query.id


参数是直接在 url 后面添加的,参数是可见的

  • 优点:参数直接嵌入在URL中,易于理解和传递;适合传递多个参数。
  • 缺点:参数较长时,URL可能会变得冗长。
  • 使用场景:传递多个参数,例如搜索条件、过滤条件等。
目录
相关文章
|
6月前
|
JavaScript 安全
vue3使用ts传参教程
Vue 3结合TypeScript实现组件传参,提升类型安全与开发效率。涵盖Props、Emits、v-model双向绑定及useAttrs透传属性,建议明确声明类型,保障代码质量。
553 0
|
11月前
|
人工智能 自然语言处理 JavaScript
通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
通义灵码基于自然语言需求,快速生成完整Vue组件。例如,用Vue 2和JavaScript实现贪吃蛇游戏:包含键盘控制、得分系统、游戏结束判定与Canvas动态渲染。AI生成的代码符合规范,支持响应式数据与事件监听,还能进阶优化(如增加启停按钮、速度随分数提升)。传统需1小时的工作量,使用通义灵码仅10分钟完成,大幅提升开发效率。操作简单:安装插件、输入需求、运行项目即可实现功能。
523 4
 通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
|
11月前
|
JavaScript API 容器
Vue 3 中的 nextTick 使用详解与实战案例
Vue 3 中的 nextTick 使用详解与实战案例 在 Vue 3 的日常开发中,我们经常需要在数据变化后等待 DOM 更新完成再执行某些操作。此时,nextTick 就成了一个不可或缺的工具。本文将介绍 nextTick 的基本用法,并通过三个实战案例,展示它在表单验证、弹窗动画、自动聚焦等场景中的实际应用。
1066 17
|
JavaScript UED
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
704 0
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
355 3
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
设计模式 JavaScript 开发工具
Vue开发中使用好钩子方法(hook method)可以使你的代码更加模块化和可维护
Vue开发中使用好钩子方法(hook method)可以使你的代码更加模块化和可维护
244 0
|
JavaScript API
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
590 0
|
6月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
536 137
|
7月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
619 2