怎样接收路由传过来的参数
时间: 2023-09-18 15:15:58 浏览: 63
如何接收页面之间传递的参数
在Vue.js中,可以通过`this.$route.params`或`this.$route.query`来获取路由传递过来的参数。
1. **获取基于RESTful风格传参的参数**
如果使用的是基于RESTful风格传参的路由,可以通过`this.$route.params`来获取参数。例如,有一个路由定义如下:
```javascript
{
path: '/user/:id',
name: 'user',
component: User
}
```
在`User`组件中,可以通过`this.$route.params.id`来获取`id`参数的值。
2. **获取基于查询字符串传参的参数**
如果使用的是基于查询字符串传参的路由,可以通过`this.$route.query`来获取参数。例如,有一个路由定义如下:
```javascript
{
path: '/search',
name: 'search',
component: Search
}
```
在`Search`组件中,可以通过`this.$route.query.keyword`来获取`keyword`参数的值。
需要注意的是,如果路由参数是可选的,例如`/user/:id?`,那么在获取参数时需要进行判断,避免获取到`undefined`值。可以使用ES6的解构赋值语法来设置参数的默认值,例如:
```javascript
const { id = '' } = this.$route.params
```
上述代码中,如果`id`参数不存在,则将默认值设置为`''`。这样就可以避免在使用`id`参数时出现`undefined`值的情况。
阅读全文