面试题答案
一键面试在Vue Router的配置中,可以通过redirect
属性来实现重定向。对于多层嵌套路由,配置如下:
const router = new VueRouter({
routes: [
{
path: '/user/:userId/profile',
redirect: (to) => {
// 考虑携带参数,将原参数合并到重定向的路径中
const { params, query } = to;
return {
path: `/user/${params.userId}/profile/edit`,
query
};
}
},
{
path: '/user/:userId/profile/edit',
component: () => import('@/views/UserProfileEdit.vue')
}
]
});
上述代码中,当访问/user/:userId/profile
时,会通过redirect
函数重定向到/user/:userId/profile/edit
,并保留原路径中的查询参数query
。如果有其他参数需要处理,也可以在redirect
函数中进行相应操作。这样就实现了多层嵌套路由下的重定向并携带参数。