使用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 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
JavaScript入门教程(12) js对象化编程
Jan 31 Javascript
单击和双击事件的冲突处理示例代码
Apr 03 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
举例讲解如何判断JavaScript中对象的类型
Apr 22 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
详解vue嵌套路由-query传递参数
May 23 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
security.js实现的RSA加密功能示例
Jun 06 Javascript
js瀑布流布局的实现
Jun 28 Javascript
在vue中使用console.log无效的解决
Aug 09 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
实用函数10
2007/11/08 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python实现趣味图片字符化
2019/04/30 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
python实现简单银行管理系统
2019/10/25 Python
python队列原理及实现方法示例
2019/11/27 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
在线课程:Skillshare
2019/04/02 全球购物
盛大笔试题
2016/11/05 面试题
技术经理的自我评价范文
2013/12/03 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
销售员岗位职责
2014/06/09 职场文书
商铺消防安全责任书
2014/07/29 职场文书
2019消防宣传标语!
2019/07/10 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
Python 中的 copy()和deepcopy()
2021/11/07 Python