this.$router.push 怎么传递参数和接收参数
时间: 2023-06-30 19:24:03 浏览: 344
this.$router.push方法用于跳转到另一个路由。如果需要传递参数,我们可以通过在路径中添加参数来实现。例如:
```
this.$router.push({ path: '/user', query: { id: 123 }})
```
在这个例子中,我们在路径'/user'后添加了查询参数'?id=123',表示我们要传递一个名为'id',值为'123'的参数。在目标路由的组件中,我们可以通过$router对象的currentRoute属性来获取这个参数。例如:
```
// 获取路由参数
this.$route.query.id
```
在这个例子中,我们可以通过this.$route.query.id来获取传递过来的'id'参数的值。如果需要传递多个参数,可以在query对象中添加多个属性。例如:
```
this.$router.push({ path: '/user', query: { id: 123, name: 'John' }})
```
在目标路由的组件中,我们可以通过this.$route.query.id和this.$route.query.name来获取这两个参数的值。
除了使用query参数,还可以使用params参数来传递参数。params参数是在路径中添加参数的方式。例如:
```
this.$router.push({ name: 'user', params: { id: 123 }})
```
在这个例子中,我们使用了命名路由'user',并通过params参数传递了'id'参数。在目标路由的组件中,我们可以通过$router对象的currentRoute属性来获取这个参数。例如:
```
// 获取路由参数
this.$route.params.id
```
在这个例子中,我们可以通过this.$route.params.id来获取传递过来的'id'参数的值。如果需要传递多个参数,可以在params对象中添加多个属性。例如:
```
this.$router.push({ name: 'user', params: { id: 123, name: 'John' }})
```
在目标路由的组件中,我们可以通过this.$route.params.id和this.$route.params.name来获取这两个参数的值。
阅读全文