他カテゴリ

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

ヨコチ🦖UGOK's icon'
  • ヨコチ🦖UGOK
  • 2020/10/07 07:07

 

UGOKのヨコチ🦖です。

前回はCDジャケット画像の曲を試聴できるようにしました。なにかひとつできると嬉しいですねやっぱり。作りたいものに近づいているのが目に見えて面白いです☺今回も引き続きがんばっていこうと思います~~~~、制作しているウェブアプリケーションの概要はこちらです。

 

 

今回やること

前回は、Spotify Web APIを使って日本トップ50という名前のプレイリストに載っている曲のCDジャケット画像の表示させ、その曲を実際に試聴できるようにしました。

今回は気になったCDジャケット画像に関する情報(詳細:アーティスト名、曲名、アルバム/シングル名)を表示させようと思います。

 

コードがだんだんと長くなってきたのでGitHubのGistを使って共有させていただきます。

https://gist.github.com/yochn/19f8dbef71993fe109876df02f63f7e4

 

追加・変更点としましては、CDの詳細を表示させるために新しくタブを開くのではなく、v-ifを用いて情報の切り替えを行いました。9個のCDジャケット画像を表示しているときは詳細を表示する情報の部分(<div id="detail" v-else></div>)をv-elseを使って表示させないように、反対にCDの詳細を表示しているときは9個のCDジャケット画像(<div id="list" v-if="listFlag"></div> の範囲)を表示させないようにJS内でthis.listFlag = false;とします。

 

goDetail: function(num) {

          this.selectedNum = num;

          this.listFlag = false;

 

          const self = this;

          fetch('./list').then(function(res) {

            return res.json();

          }).then(function(data) {

              self.trackdata = data; //trackdataにとってきたデータを代入する

              self.item = data.items;

              self.artist = data.items[num].track.album.artists[0].name; //アーティスト名

              self.album = data.items[num].track.album.name; //アルバム名

              self.track = data.items[num].track.name; //曲名

          });

        }

また、<div id="list" v-if="listFlag">の<img>タグに@click="goDetail(n-1)"を追加し、CDジャケット画像をクリックするとCDの詳細を表示するような命令を書きました(上記)。this.selectedNum = num;で何番目のCDジャケット画像をクリックしたかを記録し、これを用いてクリックしたCDジャケット画像の詳細(アーティスト名、曲名、アルバム/シングル名)を取ってきます。

 

computed: {

        selectedImg: function() {

          return this.img[this.selectedNum];

        }

 }

そして、computedを使い、selectedImgに何番目のCDジャケット画像をクリックしたかという情報(return this.img[this.selectedNum];)を返し、CDの詳細を表示する画面でクリックした画像が表示されるようにします。

 

 

 

実行結果

Content image
左上のCDジャケット画像をクリックしてみます❕
Content image
CDジャケット画像とともに詳細が表示されました❕

簡易的ではありますが表示することができました。デザイン等はまた改良を重ねたいと思います。情報の切り替えなどたくさん先生に助けてもらっています・・・自分だけでは思いつかなくてもどかしい・・・悩みまくっても自分自身で機能を追加できるようになりたいですね・・・いつかは・・・^_^;

 

 

 

 

:今後について

左上のCDジャケット画像をクリックして表示させていると気づかなかったのですが、日本のアーティストの場合、うまく名前が表示されないことがありました。日本語ではなくローマ字で表示されるんですよね・・・それを次回は直したいと思います☺

 

 

:参考

 

Article tip 0人がサポートしています
獲得ALIS: Article like 1.62 ALIS Article tip 0.00 ALIS
ヨコチ🦖UGOK's icon'
  • ヨコチ🦖UGOK
  • @yoch
twitter @ugok_2

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

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

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

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

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

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

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

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

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

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

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

Like token Tip token
46.60 ALIS
Eye catch
ゲーム

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

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

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

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

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

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

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

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

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

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

SASUKEオーディションに出た時の話

Like token Tip token
35.87 ALIS