使用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 相关文章推荐
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
javascript prototype 原型链
Mar 12 Javascript
javascript中length属性的探索
Jul 31 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 Javascript
js实现点击添加一个input节点
Dec 05 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
css如何让浮动元素水平居中
Aug 07 Javascript
javascript如何写热点图
Dec 08 Javascript
javascript的BOM
May 03 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 Javascript
基于angular2 的 http服务封装的实例代码
Jun 29 Javascript
基于vue-upload-component封装一个图片上传组件的示例
Oct 16 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
图形数字验证代码
2006/10/09 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
零基础php编程好学吗
2019/10/11 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python动态性强类型用法实例
2015/05/09 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python循环实现n的全排列功能
2019/09/16 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
讲解员培训方案
2014/05/04 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle