Vue中路由传值的三种通俗讲解_params_它就像一个指向具体信息的路标

Vue中路由传值的三种方法,通俗讲解

一、路由参数(params)传值

就像你在网上买东西,点击一个链接看到某个商品的详细信息页,这个信息页的链接里就包含了这个商品的ID,这就是路由参数。它就像一个指向具体信息的路标。

定义路由路径:
const router = new VueRouter({
  routes: [
    { path: '/user/:id', component: UserDetail }
  ]
})

传递参数:

在需要跳转的地方使用或编程式导航传递参数:
this.$router.push({ name: 'user', params: { id: 123 } })

接收参数:

在目标组件中,通过获取参数:
this.$route.params.id

二、查询参数(query)传值

查询参数就像你在网上搜索商品,商品后面的那一串东西,它不改变链接的结构,只是提供了一些额外的信息。

传递查询参数:

在需要跳转的地方使用或编程式导航传递查询参数:
this.$router.push({ query: { userId: 123 } })

接收查询参数:

在目标组件中,通过获取参数:
this.$route.query.userId

三、通过props传值

通过props传值就像你在网上下单,订单信息里包含了商品信息、数量、价格等,这些信息直接传递给了商家。

在路由配置中启用props:

const router = new VueRouter({
  routes: [
    { path: '/user/:id', component: UserDetail, props: true }
  ]
})

接收props:

在目标组件中,通过props接收参数:
props: ['userId']

四、总结与建议

选择合适的传值方式,让代码更清晰、高效。

方法 适用场景
路由参数(params)传值 需要在路径中传递参数的场景,常用于详情页。
查询参数(query)传值 需要传递多个参数且不需要在路径中定义动态参数的场景。
通过props传值 使组件更易于测试和复用,适用于需要将路由参数作为组件props的场景。

根据实际需求选择合适的传值方式,保持代码的一致性和可维护性。