Я создал компонент, и в этом компоненте есть аудио-тег.Я пытался передать путь файла mp3 к компоненту от его родителя, но аудиоэлемент, по-видимому, не может успешно загрузить файл по какой-то причине.Элемент просто становится серым, и я не получаю никакой ошибки.Я знаю, что свойства успешно передаются, потому что я также передаю название трека, и это прекрасно загружает компонент.Однако, если я жестко закодировал тот же путь для источника, то он работает нормально.Что не имеет большого значения, но у меня есть 11 треков, и с заявлением v-for было бы намного проще.
Вот мой родительский компонент:
<template>
<div container>
<div class=banner>
<img src="../assets/CryptoLogo2.svg"/>
</div>
<div class="albumcontainer">
<div class="covercontainer"><img src="../assets/TIADCover(Final).png"/></div>
<div class="arrow"></div>
<div class="tracklistcontainer">
<table class="tracklist">
<tr class="track" v-for="track in tracks" :key="track.file" style="padding: 20px;">
<td>
<player :name="track.name" :file="track.file" />
</td>
</tr>
</table>
</div>
</div>
<div class="bio">
<p>
</p>
</div>
<div class="footer">
<div class="footericons">
<img src="../assets/icons/Facebook.svg" />
<img src="../assets/icons/Instagram.svg" />
<img src="../assets/icons/Twitter.svg" />
</div>
</div>
</div>
</template>
<script>
import player from './player'
export default {
name: "Album1",
data() {
return {
tracks: [
{
name: '5G',
file: '../assets/tracks/5G.mp3'
}
]
}
},
components:{
player
}
};
</script>
А затем компонент с аудиотэгом:
<template>
<div>
<h3>{{ name }}</h3>
<audio controls controlsList="nodownload">
<source ref="player" v-bind:src="file" type="audio/mpeg">
</audio>
</div>
</template>
<script>
export default{
name: "player",
props: {
name: {
type: String,
default: null
},
file:{
type: String,
default: null
}
}
}
</script>
Здесь вы можете видеть, что мои данные успешно передаются.
![Here you can see that my data is being passed successfully.](https://i.stack.imgur.com/6HtN6.png)
И вы видите, что атрибут источника также загружается правильно.
![And you see that the source attribute is being loaded correctly as well.](https://i.stack.imgur.com/JWjxg.png)
Это то, что я получаю, и вы можете видеть, что h3 прекрасно загружается, поэтому я знаю, что данные передаются.Но элемент неактивен.
![This is what I get, and you can see the h3 loads fine, so I know the data is being passed. But the element is greyed out.](https://i.stack.imgur.com/46za1.png)
Чтобы проверить это, я попытался просто жестко кодировать путь к файлу:
<source src="../assets/tracks/5G.mp3">
И это прекрасно работает:
![It's working perfectly.](https://i.stack.imgur.com/Gudw1.png)
Но я не хочу так делать, потому что у меня есть около 11 треков, поэтому яхотел бы, чтобы он загружался из передаваемых данных, чтобы я мог повторно использовать компонент.Есть идеи?