当前位置: 首页 > article >正文

vue路由传参的详解1.命名路由的传参和取出2.query传参和取出3.meta传参和取出4.其他方式5.注意点 代码和注释

Vue是一款流行的前端框架,其路由功能可以帮助我们实现单页应用(SPA)的跳转和页面切换。在实际开发中,我们会遇到需要在路由之间传递参数的情况,本篇博客将详细介绍Vue路由传参和取出参数的几种方式。

目录

  • 1. 命名路由的传参和取出
  • 2. query传参和取出
  • 3. meta传参和取出
  • 4. 其他方式
  • 5. 注意点

1. 命名路由的传参和取出

在定义路由时,我们可以给路由起一个名称,例如:

const routes = [
  {
    path: '/user/:id',
    name: 'user',
    component: User
  }
]

在跳转时,我们可以使用$router.push方法传递参数:

this.$router.push({ name: 'user', params: { id: 123 }})

在接收参数的组件中,可以通过$route.params来获取参数:

export default {
  mounted() {
    console.log(this.$route.params.id) // 输出 123
  }
}

2. query传参和取出

除了使用命名路由传递参数外,我们还可以使用query参数传递参数。在跳转时,我们可以使用$router.push方法传递参数:

this.$router.push({ path: '/user', query: { id: 123 }})

在接收参数的组件中,可以通过$route.query来获取参数:

export default {
  mounted() {
    console.log(this.$route.query.id) // 输出 123
  }
}

3. meta传参和取出

在定义路由时,我们可以在路由元信息(meta)中定义参数,例如:

const routes = [
  {
    path: '/user/:id',
    name: 'user',
    component: User,
    meta: {
      title: '用户详情'
    }
  }
]

在接收参数的组件中,可以通过$route.meta来获取参数:

export default {
  mounted() {
    console.log(this.$route.meta.title) // 输出 用户详情
  }
}

4. 其他方式

除了以上三种方式外,我们还可以使用props传递参数。在定义路由时,我们可以将参数作为props传递给组件:

const routes = [
  {
    path: '/user/:id',
    name: 'user',
    component: User,
    props: true
  }
]

在接收参数的组件中,可以通过props来获取参数:

export default {
  props: ['id'],
  mounted() {
    console.log(this.id) // 输出 123
  }
}

5. 注意点

在使用路由传参时,我们需要注意以下几点:

  • 在使用命名路由传参时,参数需要在路由路径中定义,例如/user/:id
  • 在使用query参数传参时,参数会以查询字符串的形式出现在URL中,例如/user?id=123
  • 在使用meta参数传参时,参数需要在路由元信息中定义。
  • 在使用props传参时,需要在路由中将props设置为true
  • 在跳转时,我们可以使用$router.push方法或者<router-link>组件。
  • 在接收参数时,我们可以通过$route.params$route.query$route.meta或者props来获取参数。

以上就是Vue路由传参和取出参数的详细介绍,希望对大家有所帮助。


http://www.kler.cn/a/137539.html

相关文章:

  • java如何设置动态表名?
  • 51单片机应用
  • 脚本(JavaScript)-练手-简单的随机音乐播放器
  • Vue项目 配置项设置
  • C# 32应用程序获取64位操作系统注册表
  • 数据分析—将txt文件转为csv文件;将csv文件转为xls文件
  • 关于sh脚本文件
  • DocCMS keyword SQL注入漏洞复现 [附POC]
  • C++ 使用c++类模板实现动态数组-可实现自定义数据类型存储
  • 软件临界资源访问冲突
  • python运算符重载之构造函数和迭代器
  • 家庭教育专家:如何创建家庭自主学习环境?
  • 【MySQL--->用户管理】
  • 移远通信推出六款新型天线,为物联网客户带来更丰富的产品选择
  • IDEA-运行测试方法提示Command line is too long
  • vivado产生报告阅读分析13-时序报告9
  • YOLOv8更换骨干网络HorNet:递归门控卷积的高效高阶空间交互——涨点神器!
  • C++基础从0到1入门编程(三)
  • STM32获取最大堆栈空间
  • 生成式 AI 落地制造业的关键是什么?亚马逊云科技给出答案