Vue音乐项目笔记(二)
1. Vuex https://blog.csdn.net/weixin_40814356/article/details/80347366

编写:
然后,在main.js中引入
在组件中改变state的状态
调用如下:
这样就成功拿到数据了。
2.如何为betterScroll向上滚动的时候添加一个layer https://blog.csdn.net/weixin_40814356/article/details/80361460
3. 如何创建一个js中的prefix https://blog.csdn.net/weixin_40814356/article/details/80362685
4. 播放页面的布局 https://blog.csdn.net/weixin_40814356/article/details/80372040
5.列表页到播放页的动画,通过vue的钩子添加动画 https://blog.csdn.net/weixin_40814356/article/details/80373592
6.音乐播放的实现
音乐的播放是基于h5的audio来实现的。 然后:在currentSong变化的时候,去调用play()方法:
<audio ref="audio" :src="currentSong.url"></audio>
watch: {
currentSong () {
this.$nextTick(() => {
this.$refs.audio.play()
})
},
因为当音乐还没有获取的时候,不能调用play,所以要用$nextick 将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新
那么如何控制play的状态呢?
<div class="icon i-center">
<i class="icon-play" @click="togglePlaying"></i>
</div>
在state中定义了一个状态playing
点击click的时候,去改变这个playing。怎么改变呢,通过actions
然后,通过mutation去改变他的状态:
这里通过getter拿到playing
然后在点击事件的时候去改变它的状态:
但是问题是,这里点击的时候,只能改变playing的状态,却不能改变audio的播放或者暂停。处理如下:
watch playing的变化。如果是true,就play()。否则pause()。
Vue音乐项目笔记(二)的更多相关文章
- Vue音乐项目笔记(三)
1. 音乐播放前进后退的实现 https://blog.csdn.net/weixin_40814356/article/details/80379606 2. 音乐进度条实现(单独一个组件) h ...
- Vue音乐项目笔记(一)
看到一位小可爱的手记,这里记录一下自己需要注意的地方的链接 1.手写轮播图(上) https://blog.csdn.net/weixin_40814356/article/details/80298 ...
- Vue音乐项目笔记(五)
1.搜索列表的点击删除.删除全部的交互事件 https://blog.csdn.net/weixin_40814356/article/details/80496097 seach组件中放search ...
- Vue音乐项目笔记(四)(搜索页面提取重写)
1.如何通过betterScroll组件实现上拉刷新 https://blog.csdn.net/weixin_40814356/article/details/80478440 2.搜索页面跳转单曲 ...
- vue 自学项目笔记
感觉小青推荐的学习网课, 利用vue 仿制一个去哪网, 学习的东西很多, 在食用之前,需要先确保js 和css 过关 js https://www.bilibili.com/video/av3009 ...
- vue.js学习笔记(二):如何加载本地json文件
在项目开发的过程中,因为无法和后台的数据做交互,所以我们可以自建一个假数据文件(如data.json)到项目文件夹中,这样我们就可以模仿后台的数据进行开发.但是,如何在一个vue.js 项目中引入本地 ...
- 从无到有构建vue实战项目(二)
二.vue项目的初步搭建 该项目我采用了当下最流行的vue ui框架---element-ui,首先用vue-cli构建一个vue项目: vue create education 然后会出现一系列配置 ...
- vue.js学习笔记(二)——vue-router详解
vue-router详解 原文链接:www.jianshu.com 一.前言 要学习vue-router就要先知道这里的路由是什么?为什么我们不能像原来一样直接用<a></a> ...
- [Vue音乐项目] 第一节 环境搭建
1.Node安装 登录官网,下载最新版本并安装: 在我的电脑内,执行以下操作:右键->属性->高级->环境变量->系统变量->path 查看是否有node的安装路径,没有 ...
随机推荐
- eMMC应用教程:关于RPMB的应用【转】
本文转载自:https://blog.csdn.net/youdianhai/article/details/51246379 RPMB的意思是Replay Protected Memory Bloc ...
- Java lambda例子
简单数据类型int,跟Integer在lambda中的使用还不一样,有区别 code: package com.qhong.lambda.testDemo; import java.util.Arra ...
- (转)Shiro学习
(二期)13.权限框架shiro讲解 [课程13]自定义Realm.xmind36.8KB [课程13]用户授权流程.xmind0.2MB [课程13]shiro简介.xmind0.3MB [课程13 ...
- Component 初识组件
component组件是Vue学习的重点.重点.重点,重要的事情说三遍.所以你必须学好Vue component.其实组件就是制作自定义的标签,这些标签在HTML中是没有的.比如:<diy> ...
- 几个优化SQL查询的方法
1.什么是执行计划 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化 ...
- facebook api之Ad
Ad Contains information to display an ad and associate it an ad set. Each ad is associated with an a ...
- Windows has encountered a critical problem and will restart automatically in one minute. Please save your work now
Windows has encountered a critical problem and will restart automatically in one minute. Please save ...
- fee photo
别样网 pexels Gratisography picjumbo lifeofpix foodiesfeed
- HTML XHTML HTNL5 简介
XHTML 是HTML与XML(扩展标记语言)的结合物 包含了所有与XML语法结合的HTML 4.01元素 XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup ...
- 【Mac】Finder显示或隐藏文件
第一步:打开「终端」应用程序. 第二步:输入如下命令: defaults write com.apple.finder AppleShowAllFiles -boolean true ; killal ...