vue路由redirect 携带参数
react router 传参在 Vue Router 中,如果你想在重定向(redirect)时携带参数,你可以使用 query 参数或者通过路由的元信息(meta)来传递参数。
1. 使用 query 参数:
当你想将参数作为查询字符串传递给重定向的路由时,可以使用 `query` 对象。例如:
```javascript
// 定义路由
const routes = [
{
path: '/user/:id',
name: 'User',
component: User,
},
{
path: '/profile',
name: 'Profile',
component: Profile,
},
];
// 重定向时携带参数
({ name: 'User', params: { id: 123 }, query: { redirect: '/profile' } });
```
在目标路由中,你可以通过 `$` 获取到 `redirect` 参数:
```javascript
// 在 Profile 组件中
created() {
(this.$); // 输出:/profile
}
```
2. 使用路由的元信息(meta):
如果你想传递更复杂的数据结构或者不想将参数暴露在 URL 中,你可以使用路由的元信息(meta)来传递数据。例如:
```javascript
// 定义路由
const routes = [
{
path: '/user/:id',
name: 'User',
component: User,
meta: { redirectTo: '/profile' },
},
{
path: '/profile',
name: 'Profile',
component: Profile,
},
];
// 在 User 组件中,当需要重定向时,触发一个方法或事件来改变 meta 值
methods: {
redirectToProfile() {
this.$({ name: 'Profile' }); // 重定向到 Profile 路由,同时传递 meta 数据
},
}
```
在目标路由中,你可以通过 `$` 获取到传递的元信息:
```javascript
// 在 Profile 组件中,你可以在 created 或 mounted 钩子中访问 meta 数据,确保在路由改变后数据可用。
created() {
(this.$); // 输出:/profile
}
```
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论