Vue Router传参
时间: 2023-12-09 21:04:29 浏览: 89
在 Vue Router 中,可以通过路由参数(Route Parameters)和参数(Query Parameters)来传递参数。
1. 路由参数
路由参数是 URL 中的一部分,用于标识当前路由。可以通过在路由配置中使用占位符来定义路由参数。例如:
```javascript
{
path: '/user/:id',
component: User
}
```
在这个例子中,`:id` 是一个路由参数,对应的组件是 `User`。当访问 `/user/123` 时,`123` 将作为 `id` 参数传递给 `User` 组件。在组件内部,可以通过 `$route.params.id` 来获取这个参数。
2. 查询参数
查询参数是 URL 中以 `?` 开头的参数,用于表示一些非标识性的信息。可以通过在路由配置中使用 `props` 属性来传递查询参数。例如:
```javascript
{
path: '/user',
component: User,
props: {
foo: 'bar'
}
}
```
在这个例子中,访问 `/user?foo=baz` 时,`foo` 参数的值为 `baz`。在组件内部,可以通过 `props` 属性来获取这个参数。
3. 编程式导航
在某些情况下,需要在 JavaScript 中进行路由跳转,并且需要传递参数。可以使用编程式导航来实现这个功能。例如:
```javascript
// 通过 router.push 方法跳转到 /user/123 页面,并传递 id 参数
router.push({ path: '/user/123', params: { id: 123 }})
```
在组件内部,可以通过 `$route.params.id` 来获取这个参数。
需要注意的是,当传递参数时,需要考虑参数的类型和长度,以及参数的安全性等问题。为了避免 XSS 攻击等问题,需要对参数进行必要的校验和过滤。
阅读全文