做完的项目如图所示:
实现的功能
1、首页
2、底部播放控件
3、播放页面
4、播放列表
5、排行榜
6、音乐搜索
输入搜索关键词,点击放大镜图标
7、侧边栏
API
感谢作者把api整理的这么好(点个赞)
https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=%e6%90%9c%e7%b4%a2%e9%9f%b3%e4%b9%90
目录构造
1、轮播图
首先感谢作者ShanaMaid/vue-image-scroll开源的代码,我把代码copy下来自己进行了一点修正(没有手指滑动效果),由于这是移动端,少不了的手指滑动切换,以是添加了vue-touch(偷偷见告你,vue-touch的next分支还是支持vue2.0的)。
2、歌曲操作(喜好,分享,加入播放列表)动画、播放列表展开与删除歌曲动画
transition-group
一组过度动画,这里有个小坑的,之前看官网列表过渡的栗子,给每一项设置唯一的key值,一样平常都会用index。以是在做的时候就把index传给key,结果过渡总是不对,后来换成对应的item
就正常了(生无可恋脸)。
3、直线进度条、弧形进度条
西班牙建筑大师曾说过:“直线属于人类,曲线则归于上帝”。在这里我大胆的利用了弧形来作为进度条,(几大热门音乐APP貌似还没有弧形进度条)。
这里我用到了Vue的绑定内联样式
5、图片
利用了vue-lazyload插件
用法:
6、歌词滚动与高亮
由于api供应的歌词包括韶光,如:
[03:57.280]体谅我这生平不羁放肆爱自由
以是首先要进行字符串切割:
然后在播放的监听事宜中与播放确当前做比拟:
到这就ok了
7、vuex状态管理
推举官方调试工具 devtools extension
想进一步理解vuex,可以看这篇博客vuex学习实践条记
之前看到好多人写的vuex,把全体项目的数据放到了一个state里,导致运用的所有状态集中到一个很大的工具。但是,当运用变得很大时,store 工具会变得臃肿不堪。
以是我建议(个人见地,轻喷):将 store 分割到模块(module)。每个模块拥有自己的 state、mutation、action、getters。这样方便管理与后期的掩护。
车已到站✌️。
入门只是学习的开始,这时你可以利用你的技能,实现各种需求。 在实现各种需求时,你会碰着更多各种各样的问题。有些问题可能已经不是纯挚写JS代码能很好办理的了。 你可能须要合营一些框架,或一些工具,或一些设计模式, 或一些业务知识。
随着办理更多问题, 你也会积累更多的知识。之后会是漫长的积累过程, 通过项目履历、看书、看博客、思考、谈论等等,积累你的履历和知识。
你须要始终如一和刨根问底。总之,之后就看你自己的了。还是和条件差不多的那句话:你须要主动。
末了再来提点建议:
写JS的最好办法..是一直的重复练习....实在很多人反响...学JS的时候很难..但是有些人认为..它没有做事真个措辞难.或者说..根本就不屑的学这种措辞...什么破措辞..老出各种各样的缺点...浏览器还不兼容..但是...学好JS对你未来的web开拓有至关主要的浸染....我以为.JS是奠定RIA的根本...或者说..客户真个开拓RIA的根本.
这个音乐播放器项目到这里就算是做完了,想要完全代码自己学习练手的小伙伴进我的群自助领取,已经上传到群文件里了:640633433,欢迎初学和进阶中的小伙伴。
如果项目有哪些毛病,欢迎在评论区示正!