【发布时间】:2019-08-14 14:45:09
【问题描述】:
我正在尝试将 AlumbId 附加到图像 src 标记。我发现我需要使用一种方法来使用链接并将其发回。我不确定这是否是最好的方法,但我可以正常工作,但由于某种原因,该方法将 AlumbId 发送为“未定义”,所以我没有得到图像。
<template>
<div id="tracks">
<div id="track" v-for="track in tracks" :key='track.id'>
<img class="cover" :src="getAlbumImg(track.albumId)" />
<div class=content-name>{{track.albumName}}</div>
<div class="artist-name">{{track.artistName}}</div>
<audio controls class= "audio">
<source type="audio/mpeg">
</audio>
</div>
</div>
</template>
<script>
import axios from 'axios';
export default {
name: 'Tracks',
data () {
return {
tracks: []
}
},
created() {
axios.get('http://api.napster.com/v2.2/tracks/top?apikey=YTkxZTRhNzAtODdlNy00ZjMzLTg0MWItOTc0NmZmNjU4Yzk4')
.then(response => {
// JSON responses are automatically parsed.
this.tracks = response.data
})
.catch(e => {
this.errors.push(e)
})
},
methods: {
getAlbumImg: function(albumId) {
return 'http://direct.rhapsody.com/imageserver/v2/albums/' + albumId + '/images/300x300.jpg';
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
【问题讨论】:
-
this.tracks = response.data应该是this.tracks = response.data.tracks
标签: vue.js vue-component