vue перенаправление по умолчанию, вызывающее ошибку максимального стека - PullRequest
0 голосов
/ 25 мая 2019

Итак, у меня есть этот раздел моего vue-router, который вызывает проблему:

{
    component: Tutorial,
    name: "tutorial",
    path: "/tutorial/:page?",
    redirect: "/tutorial/0",
},

Если я удалю перенаправление, проблема исчезнет.Для этого маршрута тоже нет детей.Разве невозможно назначить значение параметра по умолчанию?

Ответы [ 2 ]

2 голосов
/ 25 мая 2019

Если вы установите значение по умолчанию в redirect части.Он перейдет к /tutorial/0, затем снова и снова будет перенаправлен на /tutorial/0 ...

Если вы хотите установить значение параметра по умолчанию.Вы можете реализовать это в компоненте Tutorial.

Например:

// In Tutorial component
beforeRouteEnter() {
    this.$route.params.page = this.$route.params.page ? this.$route.params.page : 0
}
1 голос
/ 25 мая 2019

потому что "/tutorial/0" соответствует "/tutorial/:page?" тоже.

Так как конфигурации маршрутизатора являются первыми в первых,

Вы можете определить свои маршруты следующим образом

    {
      component: Tutorial,
      name: 'tutorial',
      path: '/tutorial/0'
    },
    {
      path: '/tutorial/:page?',
      redirect: '/tutorial/0'
    }

, если текущий маршрут соответствует /tutorial/0, он отобразит ваш компонент. Если он не соответствует /tutorial/0, Vue проверит, соответствует ли он /tutorial/:page?, и выполнит перенаправление, если оно соответствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...