Я возвратил объект из API-вызова в Last.FM, который возвращает объект из последних 100 песен, которые я прослушал. Если кто-то играет в данный момент, на первом элементе объекта есть флаг, который сейчас играет.
Я пытаюсь связать класс с разметкой, если это так, и я близок. Единственная проблема в том, что если условие выполнено, вместо этого он связывает класс со всем, что повторяется из моего объекта.
Что я сделал не так?
Чтобы понять, вот пример фрагмента возвращаемого объекта
{
"artist": {
"mbid": "9457a08d-a2d0-4f2d-9876-b8870612d54f",
"#text": "The Last Poets"
},
"@attr": {
"nowplaying": "true"
},
"mbid": "3066a862-6c9a-4e21-b6bd-53e43257cbb4",
"album": {
"mbid": "96e8dd6c-6b49-462e-a6ea-202a3e2b1116",
"#text": "Understand What Black Is"
},
"streamable": "0",
"url": "https:\/\/www.last.fm\/music\/The+Last+Poets\/_\/Understand+What+Black+Is",
"name": "Understand What Black Is"
},
{
"artist": {
"mbid": "77b29df2-056e-409e-a1b2-5e2bbfe421c4",
"#text": "Awolnation"
},
"album": {
"mbid": "1f7c0747-0207-441d-acad-a55ec0530b1f",
"#text": "Back From Earth"
},
"streamable": "0",
"date": {
"uts": "1560027115",
"#text": "08 Jun 2019, 20:51"
},
"url": "https:\/\/www.last.fm\/music\/Awolnation\/_\/Sail",
"name": "Sail",
"mbid": "0960742a-7040-435e-a2ef-c11abec3b913"
}
и в разметке я перебрал свой объект вот так
<li v-for="(track, index) in recentTracks" :key="`track-${index}`" class="track" v-bind:class="'track-' + index" style="background-image: url('http://www.placecage.com/100/100')">
<span v-bind:class="{ 'playing': 'track.@attr.nowplaying' }">{{track.artist['#text']}} - {{track.name}}</span>
</li>
</ul>
В результате каждый li
имеет класс игры