使用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 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
JavaScript极简入门教程(三):数组
Oct 25 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
Nov 12 Javascript
javascript包装对象实例分析
Mar 27 Javascript
JQuery跳出each循环的方法
Apr 16 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
Apr 17 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
Dec 19 Javascript
用Webpack构建Vue项目的实践
Nov 07 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 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连接MySQL代码的参数说明
2008/06/07 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
javascript 数组排序函数
2009/08/20 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
python发腾讯微博代码分享
2014/01/10 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
pandas的qcut()方法详解
2019/07/06 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
Python __slots__的使用方法
2020/11/15 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2015年工商所工作总结
2015/05/21 职场文书
务工证明怎么写
2015/06/18 职场文书
新闻稿件写作范文
2015/07/18 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL