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 相关文章推荐
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
Jun 03 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
JavaScript自定义分页样式
Jan 17 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
jquery dataTable 获取某行数据
May 05 jQuery
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
JavaScript中this函数使用实例解析
Feb 21 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 EOT定界符的使用详解
2008/09/30 PHP
php discuz 主题表和回帖表的设计
2009/03/13 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
AngularJS基础知识
2014/12/21 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
angular ng-click防止重复提交实例
2017/06/16 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
使用ThinkJs搭建微信中控服务的实现方法
2019/08/08 Javascript
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
Python多线程爬虫简单示例
2016/03/04 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
行政经理的岗位职责
2013/11/23 职场文书
职称评定自我鉴定
2014/03/18 职场文书
世界环境日活动总结
2015/02/11 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android