日日爱影视_日本一区二区三区日本免费_大香焦伊人在钱8_欧美一级夜夜爽 - 日韩三级视频在线观看

用vue做一個(gè)音樂(lè)app

Vue.js是一個(gè)構(gòu)建用戶界面的漸進(jìn)式框架,具有輕量級(jí)、簡(jiǎn)潔易懂、易于開(kāi)發(fā)和學(xué)習(xí)的特點(diǎn)。在本篇文章中,我們將使用Vue.js來(lái)構(gòu)建一個(gè)音樂(lè)播放器應(yīng)用程序,涵蓋了一些常見(jiàn)的業(yè)務(wù)邏輯和功能。

### 音樂(lè)播放器的基礎(chǔ)功能

在任何應(yīng)用程序中,核心的業(yè)務(wù)邏輯都是最重要的。下面是本應(yīng)用程序的核心需求:

- 能夠從API獲取音樂(lè)數(shù)據(jù)

- 能夠?qū)@取到的音樂(lè)列表展示在頁(yè)面上

- 能夠通過(guò)點(diǎn)擊音樂(lè)列表,播放對(duì)應(yīng)的音樂(lè)

- 能夠在播放音樂(lè)時(shí),展示音樂(lè)的基本信息和歌詞

### 項(xiàng)目初始配置

在創(chuàng)建Vue.js項(xiàng)目之前,需要先下載安裝Vue.js CLI工具??梢允褂靡韵旅钕螺d和安裝:

```

npm install -g @vue/cli

```

安裝完成后,可以使用以下命令創(chuàng)建Vue.js項(xiàng)目:

```

vue create music-app

```

這將創(chuàng)建一個(gè)名為music-app的Vue.js項(xiàng)目。創(chuàng)建完成后,進(jìn)入項(xiàng)目根目錄并使用以下命令運(yùn)行項(xiàng)目:

```

cd music-app

npm run serve

```

此時(shí)應(yīng)該可以在瀏覽器中查看Vue.js項(xiàng)目,并確認(rèn)開(kāi)發(fā)環(huán)境準(zhǔn)備就緒。

### 音樂(lè)數(shù)據(jù)

接下來(lái),我們需要處理音樂(lè)數(shù)據(jù)。在本應(yīng)用程序中,我們將使用QQ音樂(lè)提供的API,獲取音樂(lè)數(shù)據(jù)。具體的步驟包括:先在QQ音樂(lè)官網(wǎng)上找到API鏈接,調(diào)用API,并解析 API返回的JSON數(shù)據(jù)。

在應(yīng)用程序中,所有需要調(diào)用API的代碼都應(yīng)該放在Vue.js組件的方法中。以下是從API獲取音樂(lè)數(shù)據(jù)的方法及其代碼:

```javascript

import axios from "axios"

export default {

methods: {

async getMusicData() {

const response = await axios.get(

"https://c.y.qq.com/soso/fcgi-bin/client_search_cp",

{

params: {

ct: 24,

qqmusic_ver: 1298,

new_json: 1,

remoteplace: "txt.yqq.song",

searchid: "68294365134742331",

t: 0,

aggr: 1,

cr: 1,

catZhida: 1,

lossless: 0,

flag_qc: 0,

p: 1,

n: 20,

w: "周杰倫",

},

headers: {

referer: "https://y.qq.com/portal/player.html",

},

}

)

// 處理API返回的數(shù)據(jù)

},

},

}

```

### 展示音樂(lè)列表

當(dāng)我們已經(jīng)獲取到音樂(lè)數(shù)據(jù)并將其處理為Vue.js組件可以接受的格式后,接下來(lái)的任務(wù)就是展示音樂(lè)列表。在Vue.js中展示數(shù)據(jù)有多種方式。以下是使用v-for指令、v-bind指令和模板字符串的例子。

```html

```

代碼中使用了v-for指令遍歷了一個(gè)musicList數(shù)組,并通過(guò)v-bind指令將item.id綁定到key屬性上,從而確保DOM元素之間的唯一性。

### 播放音樂(lè)

在點(diǎn)擊音樂(lè)列表后,我們需要將已選擇的音樂(lè)播放出來(lái)。Vue.js中使用事件處理程序來(lái)實(shí)現(xiàn)對(duì)事件的監(jiān)聽(tīng)。以下是一種基本的事件處理程序例子。

```html

```

在這個(gè)例子中,我們使用@click指令在組件上綁定一個(gè)方法。當(dāng)某個(gè)元素被單擊時(shí),該方法將被調(diào)用,并將對(duì)應(yīng)的item對(duì)象傳遞給它。

### 音樂(lè)與歌詞展示

當(dāng)音樂(lè)播放時(shí),我們需要展示一些額外的信息,比如音樂(lè)的封面、歌手、歌名等等。此外,我們需要能夠展示音樂(lè)的歌詞。Vue.js中使用計(jì)算屬性和模板字符串來(lái)處理這些信息。以下是一個(gè)例子:

```html

```

在這個(gè)例子中,我們使用了模板字符串來(lái)動(dòng)態(tài)生成歌詞內(nèi)容,計(jì)算屬性lyric接受currentMusic的值作為依賴項(xiàng),該值在每次播放不同的歌曲時(shí)都會(huì)變化。

### 結(jié)論

在本篇文章中,我們介紹了使用Vue.js構(gòu)建音樂(lè)播放器應(yīng)用程序的基礎(chǔ)知識(shí)。從獲取音樂(lè)數(shù)據(jù),展示音樂(lè)列表,播放音樂(lè),到展示音樂(lè)與歌詞,我們概述了如何使用Vue.js來(lái)實(shí)現(xiàn)這些基礎(chǔ)功能。當(dāng)選擇的API變化后,這些代碼實(shí)現(xiàn)可能還需要進(jìn)行相應(yīng)的調(diào)整。