【问题标题】:How do I send a for loop item to a method如何将 for 循环项发送到方法
【发布时间】: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


【解决方案1】:

我注意到我试图使用对象轨道而不是对象内的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2022-06-28
    • 2011-10-18
    • 2022-08-18
    • 2014-07-27
    相关资源
    最近更新 更多