时间:2021-05-25
本文介绍了使用vue-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()方法,至于解决方法……还在寻找中
之前遇到的问题是
~~~~想明白了一些
酱紫,this.musicList是空的,obj就是空的喽。
如果先给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();错误是这样的
正确的是酱紫的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
昨天在vue的官网上看到vue-aplayer这个音乐播放器的插件,由于个人有比较喜欢音乐,所以就拿过来玩一玩,感觉还是比较实用的,界面美观。首先,我们先安装n
Vue使用swiper插件时特别是轮播元素含有动态数据时可能会出现数据为空或者白屏的问题使用下面的方法可以解决(保证在数据请求之后再渲染页面)页面结构{{top
样例:1.创建vue项目,不再详述2.引入vant之前用过很多插件做这个功能,但是效果都不尽人意,出现各种问题,直到遇到vant这个插件,完美的解决了这些小问题
相信大家更新idea2020.1版本出现之后,发现很多插件无法使用的问题,比如常用的lombok插件无法使用,这里将提供解决方案一.官网插件地址在idea插件中
webpack的别名好处大家也都了解,但是vue的模板中,对图片地址使用别名时总出现问题,很久时间的时间都没找到解决办法,一度认为是webpack的原因...a