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 相关文章推荐
javascript 动态参数判空操作
Dec 22 Javascript
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
JavaScript fetch接口案例解析
Aug 30 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
浅谈JavaScript浅拷贝和深拷贝
Nov 07 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
浅析Yii2缓存的使用
2016/05/10 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
Javascript实现信息滚动效果
2017/05/18 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
python3序列化与反序列化用法实例
2015/05/26 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
Scrapy的简单使用教程
2017/10/24 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python list转置和前后反转的例子
2019/08/26 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
非常详细的C#面试题集
2016/07/13 面试题
小孩百日宴答谢词
2014/01/15 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS