this.$router.push要传多个值
时间: 2023-11-23 07:56:06 浏览: 73
两个窗口之间传值,传多值,单值
可以通过在`this.$router.push`中传递一个包含多个参数的对象来传递多个值。例如:
```javascript
this.$router.push({
path: '/example',
query: { foo: 'bar', baz: 'qux' }
})
```
这将在路由中添加两个查询参数`foo`和`baz`,它们的值分别为`bar`和`qux`。在接收参数的组件中,可以使用`this.$route.query`来获取这些参数的值。注意,如果传递的是对象或数组,需要使用`JSON.stringify()`将其转换为字符串,否则在地址栏中会被强制转换成`[object Object]`。例如:
```javascript
this.$router.push({
path: '/example',
query: { data: JSON.stringify({ name: 'John', age: 30 }) }
})
```
在接收参数的组件中,可以使用`JSON.parse()`将其转换回对象:
```javascript
const data = JSON.parse(this.$route.query.data)
console.log(data.name) // 输出:John
console.log(data.age) // 输出:30
```
阅读全文