vue组件之嵌套路由传参跳转?

vue组件之嵌套路由传参跳转?
vue 路由传参的三种基本方式:
  • 现有场景如下,点击父组件的li 元素,跳转到 子组件,并携带参数,便于子组件获取数据。
    父组件中:
<li v-for="article in articles" @click="getDescribe(article.id)">

方案1:
去目标组件页

 Methods中:
goPage( 携带参数 ) {
// 直接调用 $router.push 实现携带参数跳转
  this.$router.push({ 
   Path: `/目标页面地址名称/${ 参数 } `
})
}

在目标页面对应路由配置如下:

{
 path: ‘/自己路由地址/:id’,
 name:  ‘ 自己页面名称 ’,
 component:  组件名 
}

项目中实例 :
在路由处也要做相应处理
在这里插入图片描述
父组件中:
在这里插入图片描述
在目标页接收传过来的参数:

this.$route.params.id // 这种方式获取

方式2:
父组件通过路由属性中的name 来确定匹配的路由,通过 params来传递参数。

// 去目标组件页
goPage( 数据源 ) {
// 直接调用 $router.push 实现携带参数跳转
  this.$router.push({ 
   name:  ‘ 目标地址 ’,
   Params: {
Id: id
...参数
}
})
}

在这里插入图片描述

方式3:
父组件使用 path 来匹配路由, 然后通过 query 来传递参数,
这种情况下,query 传递的参数会显示在 URL 地址栏后面 ?Id=?

// 去目标组件页
goPage( 数据源 ) {
// 直接调用 $router.push 实现携带参数跳转
  this.$router.push({ 
   path:  ‘ /目标地址 ’,
   query: {
Id: id
...参数
}
})
}

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Vue2 中的的方式有以下几种: 1. 通过由的 params 递,例如:`/user/:id`,在组件中通过 `this.$route.params.id` 获取。 2. 通过由的 query 递,例如:`/user?id=123`,在组件中通过 `this.$route.query.id` 获取。 3. 通过 Vuex store 进行状态管理,将数存储在 Vuex 中,在组件中通过 `this.$store.state.xxx` 获取。 请注意,不同的方式适用于不同的场景,您需要根据需求选择合适的方式。 ### 回答2: 在Vue2中,的方式有以下几种: 1. 动态数:通过在由配置中定义占位符来匹配不同的由,并将数动态递给组件。例如: ``` { path: '/user/:id', component: User, props: true } ``` 在组件中通过props来接收数: ``` props: ['id'] ``` 使用时可以直接访问`this.id`来获取递的数。 2. 查询数:通过URL的查询字符串数。例如: ``` { path: '/user', component: User } ``` 在组件中通过`$route.query`来获取查询数: ``` this.$route.query.id ``` 3. 编程式导航:通过编写JavaScript代码来进行页面,并数。例如: ``` // 在组件中 this.$router.push({ path: '/user', query: {id: 1} }) ``` 在目标组件中可以通过`$route.query`来获取递的数。 4. 命名由:在由配置中给由起一个名字,并通过`name`属性来访问该由。例如: ``` { path: '/user', name: 'user', component: User } ``` 通过`$router.push({ name: 'user', params: { id: 1 } })`数,在组件中通过`$route.params`来接收数: ``` this.$route.params.id ``` 以上就是Vue2中常用的的几种方式。 ### 回答3: Vue2的方式主要有以下几种: 1. 嵌套:在由配置中定义一个动态数,例如`/user/:id`,然后在由链接或编程式导航时通过`params`数。 2. 查询字符串由链接中通过`query`数,例如`/user?id=1`,在组件中可以通过`this.$route.query.id`访问数值。 3. 由元信息:在由配置中添加`meta`字段,将数作为元信息递,例如`{path: '/user', component: User, meta: {id: 1}}`,在组件中可以通过`this.$route.meta.id`访问数值。 4. props:通过设置组件的`props`属性来数,可以是静态的值,也可以是动态的表达式,例如`{path: '/user/:id', component: User, props: true}`,在`User`组件中可以通过`props`属性接收数。 5. 视图对象:使用命名视图来数,将数作为视图对象的属性,在由配置中使用`props`属性接收递的数,例如`{path: '/user', components: {default: User, sidebar: Sidebar}, props: {default: true, sidebar: {id: 1}}}`,在`Sidebar`组件中可以通过`props`属性访问数值。 综上所述,这些是Vue2中常用的几种方式,开发者可以根据实际需求选择适合的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值