他カテゴリ

APIを使って音楽を聴くきっかけを作ろう⑦

ヨコチ🦖UGOK's icon'
  • ヨコチ🦖UGOK
  • 2020/09/30 06:26

 

UGOKのヨコチ🦖です。

前回やっと画像を表示することができたのでかなり舞い上がってます~舞の海~♪引き続きウェブアプリケーションの制作を行っていきます。概要はこちらです。

 

 

今回やること

前回は、Spotify Web APIを使って日本トップ50という名前のプレイリストに載っている曲のCDジャケット画像のURLを使って、html上にCDジャケット画像を1つ表示させました。

今回は、概要に記載したイメージ図のようにCDジャケット画像を9個表示させ3×3の形に並べて表示させたいと思います。

 

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <link href="css/style.css" rel="stylesheet" type="text/css">
</head>

<body>
  <!-- HTML -->
  <div id="app">
    <button @click="getAPIdata()">APIデータの取得</button>

    <ul v-if="appdata" id="appdata">
      <a v-for="n in 9">
        <div :id="img[n-1]">
          <img v-bind:src="img[n-1]" width="350px">
        </div>
      </a>
    </ul>
  </div>

  <!-- JavaScript -->
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

  <script>
    let app = new Vue({
      el: '#app',
      data: function() {
        return {
          appdata: '',
          item: '',
          img: []
        }
      },
      methods: {
        //ボタンを押すとAPIでとったデータを表示する
        getAPIdata: function() {
          const self = this; //fetch内ではthisが使えないので先に定数として設定しておく
          fetch('./list').then(function(res) { // /listというものに対する命令
            return res.json(); //responseをjson形式で返す
          }).then(function(data) {
            self.appdata = data; //appdataにとってきたデータを代入する
            self.item = data.items;
            for (let i = 0; i < 9; i++) {
              self.addURL = data.items[i].track.album.images[0].url;
              self.img.push(self.addURL);
            }
          });
        }
      }
    });
  </script>
</body>
</html>

CDジャケット画像をクリックすることで選択したCDに関する情報を表示させるようにしたいので<a>タグを使用しました。また、v-forを使って9個のCDジャケット画像を表示させました。

 

#appdata {
 	display: grid;
 	grid:
 	grid-template-rows: 350px 350px 350px;
 	grid-template-columns: 350px 350px 350px;
 	grid-row-gap: 10px;
 	grid-column-gap: 10px;
 	justify-content: center;
}

cssでdisplay:grid;を用いて、3×3のレイアウトにしました☺

 

 

実行結果

Content image
CDジャケット画像並べてみた❕

画像が表示されて並ぶと何とも言えん嬉しさがこみ上げてきますね・・・視覚化できた嬉しさ・・・🥰やっと大きな壁part1を超えた気がします・・・(にっこし)

 

 

 

 

:今後について

html上にCDジャケット画像を表示させ、並べることができたのでひとまずレイアウトをいじるのをおしまいにして、次は選択したCDジャケット画像に関する情報(ex.アーティスト名・CDタイトル・曲目)を表示できるようにしていきたいと思います。

 

 

:参考

 

 

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 8.60 ALIS Article tip 1.17 ALIS
ヨコチ🦖UGOK's icon'
  • ヨコチ🦖UGOK
  • @yoch
twitter @ugok_2

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
トラベル

わら人形を釘で打ち呪う 丑の刻参りは今も存在するのか? 京都最恐の貴船神社奥宮を調べた

Like token Tip token
486.35 ALIS
Eye catch
トラベル

梅雨の京都八瀬・瑠璃光院はしっとり濃い新緑の世界

Like token Tip token
216.64 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

Like token Tip token
16.10 ALIS
Eye catch
他カテゴリ

オランダ人が語る大麻大国のオランダ

Like token Tip token
46.20 ALIS
Eye catch
ゲーム

【初心者向け】Splinterlandsの遊び方【BCG】

Like token Tip token
6.32 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
グルメ

バターをつくってみた

Like token Tip token
127.90 ALIS
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS