Я использую это. $ Router.push для программной навигации, однако меня отправляют по неправильному URL, и я не уверен, почему - PullRequest
1 голос
/ 29 сентября 2019

Я использую вложенные маршруты, так что это может быть причиной проблемы, однако я не уверен, как ее исправить.У меня есть следующие маршруты и дочерние маршруты:

{
    path: '/summoner/:summonerName',
    component: Summoner,
    children: [
        { path: '', component: Matchlist },
        { path: '/match/:matchId', component: SpecificMatch, name: 'specificMatch' }
    ]
},

Когда я нахожусь на пути /summoner/:summonerName Я хочу видеть родительский компонент Summoner по умолчанию и компонент Matchlist и когда я нахожусь на пути /summoner/:summonerName/match/:matchId Я хочу видеть родительский элемент Summoner по умолчанию и дочерний компонент specificMatch.Это работает нормально, однако, когда я пытаюсь использовать:

this.$router.push({ name: 'specificMatch', params: { summonerName: this.summoner, matchId: matchId, summonerInfo: this.summonerInfo, match: match}})

Я получаю путь /match/:matchId вместо /summoner/:summonerName/match/:matchId, который ломает компонент, потому что компоненты должны получить имя пользователя из пути.Я предполагал, что this.$router.push отправит меня на правильный путь, увы нет.Любые советы, как это исправить?

1 Ответ

1 голос
/ 29 сентября 2019

Это вопрос абсолютных и относительных путей.

Ваш маршрут с именем 'specificMatch' имеет указанный абсолютный путь '/match/:matchId', так что это то место, по которому вы переходите.Если вы хотите добавить свой путь к пути вашего родительского маршрута, вам нужно будет сделать свой путь относительным, то есть пропустить начальный слеш (/) - ei path: 'match/:matchId'.

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