vue-router 中 query和params
时间: 2023-04-21 14:04:17 浏览: 139
vue-router 中的 query 和 params 都是用来传递参数的。
query 是通过 URL 中的查询字符串传递参数的,例如:
```
http://example.com/path?foo=bar&baz=qux
```
在这个 URL 中,query 参数是 `foo=bar` 和 `baz=qux`。
在 vue-router 中,可以通过 `$route.query` 来获取当前路由的 query 参数,例如:
```javascript
// 当前路由为 /path?foo=bar&baz=qux
console.log(this.$route.query.foo) // 输出:bar
console.log(this.$route.query.baz) // 输出:qux
```
params 则是通过 URL 中的路径参数传递参数的,例如:
```
http://example.com/path/:id
```
在这个 URL 中,`:id` 就是一个路径参数,可以通过不同的值来传递不同的参数。
在 vue-router 中,可以通过 `$route.params` 来获取当前路由的 params 参数,例如:
```javascript
// 当前路由为 /path/123
console.log(this.$route.params.id) // 输出:123
```
需要注意的是,params 参数只能在定义路由时指定,而且必须以冒号开头,例如:
```javascript
const router = new VueRouter({
routes: [
{
path: '/path/:id',
component: MyComponent
}
]
})
```
阅读全文