【发布时间】:2020-11-11 03:29:07
【问题描述】:
我正在尝试根据其名称将转到“/”的用户重定向到特定组件。
{
path: '/',
redirect: to => {
if (!localStorage.getItem('quizlogin')) {
return {
name: 'login'
}
} else {
return {
name: 'creatingquiz'
}
}
}
},
当命名路由创建测验被加载时,它会提供path: userUrlName + '/creatingquiz',,但由于某种原因重定向它不理解。
我收到警告“[vue-router] missing param for named route "creatingquiz": Expected "userName" to be defined"
我错过了什么?我使用 {name:<route-name>, params:{username:<blah>}} 路由没有问题
【问题讨论】:
-
警告意味着您在箭头函数中仅返回路线的名称 - 但 VueRouter 希望您还返回一个带有
userName属性的params对象。 -
看起来怎么样?此外,当我被重定向时,URL 不会更新以反映该更改。这是我见过的唯一一个不更新 URL 的实例。
-
应该是
return { name: 'creatingquiz': params: { userName: 'foo' } }。 -
酷它工作。该解决方案在文档中不是很清楚,因此感谢您的帮助。
标签: vue.js vue-router