Смущен этим поведением Vue Router.
Я передаю реквизит, который НЕ включен в URL ссылки.
Вот routes.js
:
{
path: '/matchups/game/:game',
name: 'matchup',
component: Matchup,
props: true
}
Вот мой router-view
компонент:
<router-link :key="game" :to="{ name: 'matchup', params: {game: game, scoringStats: scoringStats} }">{{ game }}</router-link>
Как видите, scoringStats не входит в URLно он передается как параметр.
Если я щелкну ссылку, чтобы перейти, скажем, к matchups/game/1
, дочерний компонент будет работать, как и ожидалось. Я могу получить доступ к this.scoringStats
в дочернем компоненте.
Однако, если я перезагружаю страницу по URL matchups/game/1
, this.scoringStats
теперь undefined
и не появляется в this.$route.params
Не уверен, почему это так или как этого можно избежать. На самом деле не существует случая, чтобы пользователь захотел перезагрузить страницу, но я думаю, что это произойдет.
Для разработки в большинстве случаев удобнее не возвращаться на страницу.
Надеемся на некоторую помощь!
Использование vue-router v3.1.3