Vue3.0高阶实战:开发高质量音乐Web appcss
第2章 的内容有以下这些:使用脚手架工具建立项目 、(视频资源vx(cmL46679910))脚手架生成代码介绍、项目基础代码编写、Tab组件实现 。vue
import Scroll from '@/components/wrap-scroll'
import { getTopList } from '@/service/top-list'
import { TOP_KEY } from '@/assets/js/constant'
import storage from 'good-storage'
export default {
name: 'top-list',
components: {
Scroll
},
data() {
return {
topList: [],
loading: true,
selectedTop: null
}
},
async created() {
const result = await getTopList()
this.topList = result.topList
this.loading = false
},
methods: {
selectItem(top) {
this.selectedTop = top
this.cacheTop(top)
this.$router.push({
path: `/top-list/${top.id}`
})
},
cacheTop(top) {
storage.session.set(TOP_KEY, top)
}
}
}
</script>
复制代码
获取轮播图接口数据 、获取轮播图接口数据、vuex
轮播图组件的开发、 轮播图组件的使用 、(视频资源vx(cmL46679910))歌单列表实现&滚动组件的封装 、图片懒加载的实现 、v-loading 自定义指令的开发、v-loading 自定义指令的优化 。markdown
第3章 的内容有以下这些:歌手列表数据获取、IndexList 组件基础滚动功能实现、 歌手列表固定标题实现(上) 、歌手列表固定标题实现。session
import { getSingerList } from '@/service/singer'
import IndexList from '@/components/index-list/index-list'
import storage from 'good-storage'
import { SINGER_KEY } from '@/assets/js/constant'
export default {
name: 'singer',
components: {
IndexList
},
data() {
return {
singers: [],
selectedSinger: null
}
},
async created() {
const result = await getSingerList()
this.singers = result.singers
},
methods: {
selectSinger(singer) {
this.selectedSinger = singer
this.cacheSinger(singer)
this.$router(视频资源vx(**cmL46679910**)).push({
path: `/singer/${singer.mid}`
})
},
cacheSinger(singer) {
storage.session.set(SINGER_KEY, singer)
}
}
}
</script>
复制代码
歌手列表固定标题实现(中) 、歌手列表固定标题实现(下)app
、歌手列表快速导航入口实现(01) 、 歌手列表快速导航入口实现(02)、歌手列表快速导航入口实现(03) 、 歌手列表快速导航入口实现(04)。async
第4章 的内容有以下这些: 歌手详情页歌曲列表数据获取 、歌手详情页批量获取歌曲、歌手详情页 MusicList 组件基础代码编写 、 歌手详情页 MusicList 组件功能交互优化(01)、 歌手详情页 MusicList 组件功能交互优化(02) 。工具
<div class="singer-detail">
<music-list
:songs="songs"
:title="title"
:pic="pic"
:loading="loading"
></music-list>
</div>
</template>
<script>
import createDetailComponent from '@/assets/js/create-detail-component'
import { getSingerDetail } from '@/service/singer'
import { SINGER_KEY } from '@/assets/js/constant'
export default createDetailComponent('singer-detail', SINGER_KEY, getSingerDetail)
</script>
<style lang="scss" scoped>
.singer-detail {
position: fixed;
z-index: 10;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: $color-background;
}
</style>
复制代码
歌手详情页 MusicList 组件功能交互优化(03) 、(视频资源vx(cmL46679910))歌手详情页支持详情页刷新 、 歌手详情页路由过渡效果实现 、歌手详情页边界状况处理 、 歌手详情页歌曲列表点击以及 vuex 的应用 、 歌手详情页歌曲列表实现随机播放 。优化