Нажмите ссылку Расписание здесь, чтобы просмотреть пример
Что касается начальной ошибки Chrome, Дэн был прав, что данные были асинхронными c и, следовательно, не отображались при начальной загрузке , Теперь это решено в этом решении.
В конечном итоге я хотел, чтобы из компонента было передано несколько параметров. Чтобы выполнить это sh, я использовал «query» вместо «params» в «router-link». Остальная часть кодового блока включена для уточнения передаваемых параметров.
Родительский компонент:
<sui-table-row v-for="(players, i) in allPlayers" :key="i">
<sui-table-cell>{{players.league}}{{players.teamNumber}}</sui-table-cell>
<sui-table-cell>{{ players.player1 }}&{{players.player2}}</sui-table-cell>
<sui-table-cell selectable v-for="(week, j) in allDates" :key="j">
**<router-link :to="{ name: 'addWeek', query: {selectedTeam: players, week: week.weekId, match: players.schedule[j] } }">
{{players.schedule[j]}}
</router-link>**
</sui-table-cell>
</sui-table-row>
маршруты. js
const routes = [{
path: '/schedule/addWeek',
props(route) {
return route.query || {}
},
name: 'addWeek',
component: AddWeek
}]
Наконец, в компоненте, к которому я хотел получить доступ к данным, я получил их по маршруту внутри смонтированного крюка следующим образом:
Потребляющий компонент:
async mounted() {
// this is the team in the players field who's week's matches were chosen.
this.selectedTeam = this.$route.query.selectedTeam
// teams clicked on
this.teamsPlayed = this.$route.query.match
// this is the week the matches take place - intersection of selectedTeam, date
this.schedule.weekId = this.$route.query.week
}