js如何携带参数进行路由跳转
时间: 2024-03-12 19:45:14 浏览: 60
JS路由跳转的简单实现代码
在Vue Router中,可以通过在`router.push()`方法中传递一个包含参数的对象来实现路由跳转并携带参数。例如:
```javascript
this.$router.push({ path: '/home', query: { id: 123 }})
```
在上述代码中,我们通过传递一个对象来跳转到路由为`/home`的页面,并且在URL中传递了一个参数`id`,值为`123`。这个参数可以在跳转后的目标组件中通过`this.$route.query`获取到。
例如,在目标组件的`mounted()`钩子函数中可以这样获取参数:
```javascript
mounted() {
console.log(this.$route.query.id)
}
```
以上代码将会在目标组件挂载后打印出参数`id`的值。
除了在`query`中传递参数外,还可以在`params`中传递参数,例如:
```javascript
this.$router.push({ path: '/home/123' })
```
在上述代码中,我们通过传递一个对象来跳转到路由为`/home/123`的页面,其中`123`是一个参数。这个参数可以在路由定义中通过`:id`来获取,例如:
```javascript
const routes = [
{ path: '/home/:id', component: Home }
]
```
在上述代码中,我们定义了一个路由`/home/:id`,其中的`:id`表示这是一个参数。这个参数可以在目标组件的`props`中定义并获取,例如:
```javascript
const Home = {
props: ['id'],
template: '<div>{{ id }}</div>'
}
```
在上述代码中,我们通过在组件的`props`中定义一个`id`属性来获取参数值,并在组件的模板中显示出来。
阅读全文