【问题标题】:Vue Router Redirect Named Component Not Missing Params?Vue路由器重定向命名组件不缺少参数?
【发布时间】: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


【解决方案1】:

解决办法是设置返回一个有params:{key:value}的对象

【讨论】:

    猜你喜欢
    • 2019-07-24
    • 2018-09-20
    • 2020-04-30
    • 2019-12-14
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    相关资源
    最近更新 更多