Я пытаюсь использовать компонент для рендеринга строки таблицы с использованием VueJS, но при этом не могу прочитать свойства объекта. У меня есть два компонента: ProspectIndex и Player.
Вот шаблон ProspectIndex:
<template>
<table class="table table-hover">
<thead>
<tr>
<th>Player</th>
</tr>
</thead>
<tbody>
<tr
v-for="(player, index) in prospects"
v-bind:player="player"
v-bind:index="index"
v-bind:key="player.personId"
is="player"
>
</tr>
</tbody>
</table>
</div>
</template>
<script>
import Player from './Player';
export default {
name: 'ProspectsIndex',
components: {
Player
},
data() {
return {
position: '-',
status: '-',
name: '',
schools: this.$parent.$parent.schools,
prospects: this.$parent.$parent.prospects
};
}
}
</script>
Это работало очень хорошо, пока я не попытался разбить строку на собственный компонент. Я делаю это, чтобы получить некоторую помощь с вычисленными свойствами и другими вещами, масштабированием, разделением задач и т. Д. Вот компонент Player:
<template>
<tr>
<td valign="top" width="5%" style="padding:0">
{{player.lastName}}
</td>
</tr>
</template>
<script>
export default {
name: 'Player'
}
</script>
Я пробовал несколько разных способов вставить объект игрока в компонент Player, но безрезультатно. Вот как выглядит объект игрока:
{
"personId":2559901,
"firstName":"SAQUON",
"lastName":"BARKLEY",
"pickAnalysis":null,
"hasAnalysis":false,
"video":null,
"pick":null,
"college":38,
"pos":"RB",
"height":"6'0\"",
"weight":233,
"armLength":"31 3/8",
"handSize":"9 1/2",
"expertGrade":7.45,
"fanPick":null,
"schoolYear":"Junior",
}
Теперь, если в компоненте Player я заменяю {{player.lastName}} на "testing", я вижу напечатанные сотни тестовых строк. Так что эта часть работает, это просто доступ к объекту игрока, который поставил меня в тупик!