第一种:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="okk">
<audio :src="currentSong" autoplay="" controls="" @ended="nextsong()"> </audio>
<ul>
<li v-for="(item,index) in songs" @click="clickHandle(index)">
<h3>歌手:{{item.name}}====
歌名:{{item.title}}</h3>
</li>
</ul>
</div>
<script>
var songs=[
{id:1,name:'杨烁 ',title:'走在乡间的小路上',src:'./audio/走在乡间的小路上.mp3'},
{id:2,name:'杨丽',title:'笑看风云',src:'./audio/笑看风云.mp3'},
{id:3,name:'金南玲',title:'逆流成河',src:'./audio/逆流成河.mp3'},
{id:4,name:'齐秦',title:'狼',src:'./audio/狼.mp3'}
]
new Vue({
el:'#okk',
data:{
songs:songs,
currentSong:'./audio/走在乡间的小路上.mp3',
currentIndex:0,
},
methods:{
clickHandle:function (index) {
console.log(this);
// console.log(this.songs[index])
this.currentSong = this.songs[index].src;
this.currentIndex = index; //参数为index时
// this.currentSong = item.src; //参数为item时
},
nextsong:function () {
// alert(111);
// alert(this.currentIndex);
console.log(this.songs.length);
console.log(this.currentIndex);
if(this.currentIndex==this.songs.length-1){
this.currentIndex=-1;
}
this.currentIndex++;
console.log(this.currentIndex);
this.currentSong = this.songs[this.currentIndex].src;
}
}
})
</script>
</body>
</html>
第二种:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="okk">
<audio :src="currentSrc" autoplay="" controls="" @ended="nextsong()"> </audio>
<ul>
<li v-for="(item,index) in songs" @click="clickHandle(index)">
<h3>歌手:{{item.name}}====
歌名:{{item.title}}</h3>
</li>
</ul>
</div>
<script>
var songs=[
{id:1,name:'杨烁 ',title:'走在乡间的小路上',src:'./audio/走在乡间的小路上.mp3'},
{id:2,name:'杨丽',title:'笑看风云',src:'./audio/笑看风云.mp3'},
{id:3,name:'金南玲',title:'逆流成河',src:'./audio/逆流成河.mp3'},
{id:4,name:'齐秦',title:'狼',src:'./audio/狼.mp3'}
]
new Vue({
el:'#okk',
data:{
songs:songs,
currentIndex:0,
},
methods:{
clickHandle:function (index) {
console.log(this);
// console.log(this.songs[index])
this.currentIndex=index; //参数为index时
// this.currentSong = item.src; //参数为item时
},
nextsong:function () {
// alert(111);
// alert(this.currentIndex);
console.log(this.songs.length);
console.log(this.currentIndex);
if(this.currentIndex==this.songs.length-1){
this.currentIndex=-1;
}
this.currentIndex++;
console.log(this.currentIndex);
// this.currentSong = this.songs[this.currentIndex].src;
}
},
computed:{
// 计算数据属性,就是data里面的数据
currentSrc(){
return this.songs[this.currentIndex].src;
}
},
created(){
}
})
</script>
</body>
</html>