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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
页面使用密码保护代码
Apr 10 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
Jun 25 Javascript
js获取url中指定参数值的示例代码
Dec 14 Javascript
jQuery功能函数详解
Feb 01 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
vue组件从开发到发布的实现步骤
Nov 11 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 Javascript
js实现省级联动(数据结构优化)
Jul 17 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 友好URL的实现(吐血推荐)
2008/10/04 PHP
php-fpm配置详解
2014/02/12 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python实现高效求解素数代码实例
2015/06/30 Python
Python yield 使用方法浅析
2017/05/20 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python 实现一个计时器
2020/07/28 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
商场经理竞聘演讲稿
2014/01/01 职场文书
主题班会演讲稿
2014/05/22 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
商务考察邀请函模板
2015/02/02 职场文书