使用vue-aplayer插件时出现的问题的解决


Posted in Javascript onMarch 02, 2018

本文介绍了使用vue-aplayer插件时出现的问题的解决,分享给大家,具体如下:

安装

$ npm install vue-aplayer --save

使用

<aplayer autoplay :music="{
 title: 'Preparation',
 author: 'Hans Zimmer/Richard Harvey',
 url: 'http://devtest.qiniudn.com/Preparation.mp3',
 pic: 'http://devtest.qiniudn.com/Preparation.jpg',
 lrc: '[00:00.00]lrc here\n[00:01.00]aplayer'
}">
</aplayer>
// ES6
 import Aplayer from 'vue-aplayer'
  
 new Vue({
   components: {
     Aplayer
   }
 })

属性

这些属性大部分跟Aplayer的选项一样

属性名 类型 默认值 描述
narrow Boolean false 紧凑样式
autoplay String null 是否自动播放,为null表示不会自动播放
showlrc Boolean false 是否显示歌词
mutex Boolean false 当一首音乐正在播放时,暂停其他音乐
theme String '#b7daff'(浅蓝色) 主题颜色
mode String 'circulation' 播放模式,random:随机模式 sigle:单曲循环 circulation:列表循环 order:顺序播放(列表播放完即停止)
preload String 'auto' 音乐加载方式,none,metadata,auto
listmaxheight String none 播放列表的最大高度
music String Object or Array 歌曲信息,详情见下方“歌曲信息”

歌曲信息

属性music既可以是包含歌曲信息的对象类型,也可以是包含这些对象的数组类型

属性名 默认值 描述
title 'Untitled' 歌曲名
author 'Unknown' 歌手
url required 歌曲地址
pic none 歌曲海报
lrc none 歌词或者歌词文件的地址

事件

事件名 参数 描述
play none 开始播放时触发
pause none 暂停时触发
canplay none 当数据支持播放时触发
playing none 播放时会定时触发
ended none 停止播放时触发
error none 错误出现时触发
update:mode none 见上面的mode属性

刚刚接触vue-aplayer,从github上找到了用法,首先需要npm install vue-aplayer ?save ,之后在组件中引入import VueAplayer from ‘vue-aplayer',别忘了注册components: {
'a-player': VueAplayer
}
这里还有一个问题,用v-if,而不是v-show,因为是异步请求,所以一开始播放器中是没有歌曲的,所有给了个v-if不然会插件默认会先生成播放器,导致报错

?2017.12.2 ,现在的代码版本是这样的~

<template>
 <div class="music">
   <a-player v-if='isShow' :autoplay='true' :music="musicList"></a-player>
 </div>
</template>
<script>
import Axios from 'axios'
import VueAplayer from 'vue-aplayer'
export default{
  data(){
    return {
      musicList:[],
      isShow:false
    }
  },
  mounted(){
    Axios.get('../static/data/musicdata.json').then(res=>{
       let List = res.data.musicData;
      // console.log(res);
      List.forEach(element => {
        let obj = {
          title:element.title,
          pic:element.musicImgSrc,
          url:element.src,
          author:element.author,
          lrc:"../static/"+element.lrc
        }
        this.musicList.push(obj);
      });
        this.isShow=true; 
        console.log(this.musicList);
    }).catch(); 
  },
  components: {
    'a-player': VueAplayer
  }
}  
</script>
<style>
.music{
  margin:1rem 0;
}
</style>

还是有问题,网上查过之后,是因为在执行了play()方法以后立即执行pause()方法,至于解决方法……还在寻找中

使用vue-aplayer插件时出现的问题的解决

之前遇到的问题是

使用vue-aplayer插件时出现的问题的解决

~~~~想明白了一些

使用vue-aplayer插件时出现的问题的解决

酱紫,this.musicList是空的,obj就是空的喽。

使用vue-aplayer插件时出现的问题的解决

如果先给this.musicList赋值了,那么push之后就会酱紫,重复两遍

其实是很好想明白的哈。

补充的代码,看起来更直观

Axios.get('../static/data/musicdata.json').then(res=>{
       // let List = res.data.musicData;
      // console.log(res);
      this.musicList.forEach(element => {
        let obj = {
          title:element.title,
          pic:element.musicImgSrc,
          url:element.src,
          author:element.author,
          lrc:"../static/"+element.lrc
        }        
        this.musicList.push(obj);
        console.log(this.musicList);
      });
        this.isShow=true; 
        console.log(this.musicList);
    }).catch();

错误是这样的

使用vue-aplayer插件时出现的问题的解决

正确的是酱紫的

使用vue-aplayer插件时出现的问题的解决

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
js获取电脑分辨率的思路及操作
Nov 22 Javascript
js如何获取object类型里的键值
Feb 18 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 Javascript
jquery实现的省市区三级联动
Apr 02 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
Vue实现回到顶部和底部动画效果
Jul 31 Javascript
修改NPM全局模式的默认安装路径的方法
Dec 15 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
Mar 02 #Javascript
vue中添加mp3音频文件的方法
Mar 02 #Javascript
JS中利用FileReader实现上传图片前本地预览功能
Mar 02 #Javascript
select标签设置默认选中的选项方法
Mar 02 #Javascript
原生JavaScript实现todolist功能
Mar 02 #Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 #Javascript
vue判断input输入内容全是空格的方法
Mar 02 #Javascript
You might like
php Ajax乱码
2008/04/09 PHP
php验证session无效的解决方法
2014/11/04 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
python中xrange和range的区别
2014/05/13 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
搞笑婚礼主持词
2014/03/13 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技