Vuejs仿网易云音乐实现听歌及搜索功能


Posted in Javascript onMarch 30, 2017

前言

前端时间学了vue,一开始看了vue1.0,后来实在觉得技术总得实践,就直接上手vue2.0。然后花了将近一周时间做了一个网易云音乐的小项目。一开始觉得项目比较小,没必要用vuex所以就没有使用,但是后来发现数据流传输有点麻烦,后续会使用vuex。

技术栈

vue+vue-router(核心框架)
better-scroll(使移动端滑动体验更加流畅)
vue-lazyload(用户图片懒加载)
nprogress(用于加载过渡)
 axios(请求)

功能分析与设计

首先我先参考了现有的一些APP的设计与开发,然后决定做了歌单和搜索两个模块,本身主要以前端为主,后端代码并没有研究,这里要感谢这位同学写的API。如果你没有API也没有关系,这并不影响我们的开发,你可以写如下形式的json数据进行模拟:

Vuejs仿网易云音乐实现听歌及搜索功能

vuejs

路由结构如下

Vuejs仿网易云音乐实现听歌及搜索功能

以下是组件

Vuejs仿网易云音乐实现听歌及搜索功能

1.歌单部分:

数据主要由API提供,源码中有具体地址。需要了解audio标签,不熟悉的同学看audio

2.搜索部分:

通过绑定@keydown来绑定事件,实现实时查询。

better-scroll

使用:

1.一定要用一个空层来承载

<div ref="helloWrapper">
  <div>
  //你的代码
  </div>
</div>

2.在vue中使用前必须引入

import BScroll from 'better-scroll';
this.helloScroll = new BScroll(this.$refs.helloWrapper, {
 click: true
});

一定要在数据渲染完成后使用better-scroll,

this.$nextTick(() => {
 //调用
});

最后上几张效果图

Vuejs仿网易云音乐实现听歌及搜索功能

Vuejs仿网易云音乐实现听歌及搜索功能

Vuejs仿网易云音乐实现听歌及搜索功能

 github项目地址:https://github.com/hua1995116/musiccloudWebapp/

在线演示地址:http://qiufengh.com:8080/

以上所述是小编给大家介绍的Vuejs仿网易云音乐实现听歌及搜索功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
用js的document.write输出的广告无阻塞加载的方法
Jun 05 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
vue data引入本地图片的两种方式小结
Nov 13 Javascript
JavaScript中layim之整合右键菜单的示例代码
Feb 06 Javascript
angular异步验证器防抖实例详解
Mar 31 Javascript
canvas绘制一个常用的emoji表情
Mar 30 #Javascript
JavaScript装饰器函数(Decorator)实例详解
Mar 30 #Javascript
Angular.JS去掉访问路径URL中的#号详解
Mar 30 #Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 #Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
Mar 30 #Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 #Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
Mar 30 #Javascript
You might like
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
详解jQuery中的事件
2016/12/14 Javascript
移动端界面的适配
2017/01/11 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
理解python多线程(python多线程简明教程)
2014/06/09 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
jupyter安装小结
2016/03/13 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
Python中logger日志模块详解
2020/08/04 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
幼师求职信
2014/06/23 职场文书
手机被没收的检讨书
2014/10/04 职场文书
教师党员整改措施
2014/10/24 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
详解Python牛顿插值法
2021/05/11 Python
MySQL优化及索引解析
2022/03/17 MySQL