vue 跳转页面this.$router.push 怎么携带参数到跳转的页面使用
时间: 2023-10-17 22:20:38 浏览: 88
可以使用 `$router.push` 方法的第二个参数来传递参数,如下所示:
```
this.$router.push({
path: '/targetPage',
query: {
id: 1,
name: 'vue'
}
})
```
在跳转到 `targetPage` 页面时,可以通过 `$route.query` 获取传递的参数:
```
mounted() {
console.log(this.$route.query.id) // 1
console.log(this.$route.query.name) // 'vue'
}
```
相关问题
vue this.$router.push跳转携带参数不暴露在url上
可以使用params方式来携带参数,这样参数就不会暴露在url上。具体实现方法如下:
```javascript
// 在跳转时传递参数
this.$router.push({
path: '/target',
params: {
id: 123
}
})
// 在目标组件中获取参数
this.$route.params.id // 输出:123
```
需要注意的是,使用params方式传递参数时,需要在路由配置中声明参数,例如:
```javascript
{
path: '/target',
name: 'target',
component: TargetComponent,
props: true // 声明使用props来接收参数
}
```
相关问题:
Vue中this.$router.replace和this.$router.push的区别
在Vue中,使用this.$router.push和this.$router.replace可以实现路由跳转。它们的区别在于:
1. push方法会在浏览器的访问历史中增加一条记录,点击浏览器的返回按钮可以返回到上一个页面;而replace方法不会增加历史记录,无法通过浏览器的返回按钮返回到上一个页面。
2. push方法可以在当前页面打开一个新的页面,而replace方法只能在当前页面进行跳转。
举个例子,假设当前路由为A,我们使用push方法跳转到路由B,那么浏览器的历史记录会变为A -> B。而使用replace方法跳转到路由B,则浏览器的历史记录不会变化,仍然是A。
总之,如果需要在当前页面打开一个新页面,或者需要用户可以通过浏览器的返回按钮返回到上一个页面,可以使用push方法;如果只需要在当前页面进行跳转,且不需要用户可以通过浏览器的返回按钮返回到上一个页面,可以使用replace方法。
阅读全文