iT邦幫忙

0

20.music-歌曲搜索

  • 分享至 

  • xImage
  •  

要添加歌曲搜索功能,可以使用音樂數據API(例如Spotify、YouTube等)來獲取歌曲信息。
在瀏覽器中搜尋->enter->發送給服務器
1.按下enter v-on .enter
2.查詢 axios / v-model
3.渲染 v-for that

<script>
var app = new Vue({
    el:"#player",
    data:{
        query:'',
        musicList:[]
    },
    methods:{
        search(){
                var that = this;
                axios.get("https://autumnfish.cn/search?keywords=" + this.query).then(
                  function(response) {
                    console.log(response);
                    that.musicList = response.data.result.songs;
                   console.log(response.data.result.songs);
                  },
                  function(err) {}
                );
            }
        }
})
</script>

查詢歌曲信息(雙向綁定數據query)之後按下enter我們可以看到data中我們需要用到的是result裡面的songs
https://ithelp.ithome.com.tw/upload/images/20231009/20163468HoK5tn0VuE.png
因為回調函數this已經改變,所以我們要事先存取(var that = this;),接著我們要去定位產生循環列表

<body>
<div id="player">
        <div >
            <h1>歌曲搜索</h1>
         <!-- 搜索歌曲 -->
         <input type="text" autocomplete="off" v-model="query" @keyup.enter="search" />
         <!-- autocomplete:用戶會依照之前輸入內容自動填寫完畢。
            on:如果屬性設定為 on,那麼之前輸入過的值,就能自動帶入。
            off:使用者要輸入的時候,瀏覽器不會幫助使用者自動完成條目。-->
        </div>
        <div>
            <!-- 搜索歌曲列表 -->
            <div>
              <ul>
                <li v-for="item in musicList"> <!-- 生成歌曲列表 -->
            <a href="javascript:;"></a> <!--空連結,在連結上附加js處理程序-->
                    <span>{{ item.name }}</span> 
                    <span><i></i></span>
                    </li>
              </ul>
            </div>
        </div>
</body>

這樣就完成歌曲搜尋了。
https://ithelp.ithome.com.tw/upload/images/20231009/20163468Z5LTUKR0k6.png
參考資料:
https://www.bilibili.com/video/BV1HE411e7vY/?p=31&share_source=copy_web&vd_source=85a8c5bb37dc77d30860d2b3537de967


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言