用Vue来实现音乐播放器(五):路由配置+顶部导航栏组件开发
路由配置
在router文件夹下的index.js中配置路由

import Vue from 'vue'
import Router from 'vue-router'
//配置路由前先引入组件
import Recommend from '../components/recommend/recommend.vue'
import Singer from '../components/singer/singer.vue'
import Rank from '../components/rank/rank.vue'
import Search from '../components/search/search.vue' //一定不要忘了注册路由!!!
Vue.use(Router) export default new Router({ //配置路由 给组件配置路由前要先引入组件
routes: [//数组
{
//给根路径也配置路由
path:'/',
redirect:'/recommend'
},
{
path: '/recommend',
component:Recommend,
},
{
path: '/singer',
component:Singer,
},
{
path: '/rank',
component:Rank,
},
{
path:'/search',
component:Search
} //注意点:对象里面是component 不要写错加了s
//还有路径path前面要加上/
//配置完路由以后,在main.js中引入 ]
})
配置完路由之后再main.js中引入
import Vue from 'vue'
import App from './App' //引入 router文件夹下的注册的路由
import router from './router' Vue.config.productionTip = false import './common/stylus/index.styl' /* eslint-disable no-new */
new Vue({
el: '#app',
//使用路由 还要在App.vue组件中利用<router-view></router-view>将路由渲染出来
router,
render: h => h(App), })
引入路由之后在App.vue中通过<router-view></router-view>将路由对应的页面渲染到App.vue组件上
<template>
<div id="app">
<m-header></m-header>
<tab></tab>
<!-- 渲染路由 -->
<!-- 通过顶部导航栏来切换路由 -->
<router-view></router-view> </div>
</template> <script type="text/ecmascript-6">
// 引入头部是类 所以首字母大写了 但是标签我们是可以小写的
//本质上MHeader
import MHeader from './components/m-header/m-header.vue' //引入导航栏
import Tab from './components/tab/tab.vue' export default {
components: {
MHeader,
Tab
}
}
</script> <style scoped lang="stylus" rel="stylesheet/stylus">
</style>
切换路由 通过路径哈希值的变化 触发change事件 渲染不同的路由 此时需要一个tab.vue组件来切换路由
<template>
<div class="tab">
<!-- 通过router-link来切换路由 这样App.vue就可以渲染不同的路由页面了 -->
<!-- tag 可以决定router-link最终以什么标签形式呈现 -->
<!-- router-link默认为a标签 -->
<router-link tag="div" class="tab-item" to="/recommend">
<span class="tab-link">推荐</span>
</router-link>
<router-link tag="div" class="tab-item" to="/singer">
<span class="tab-link">歌手</span>
</router-link>
<router-link tag="div" class="tab-item" to="/rank">
<span class="tab-link">排行</span>
</router-link>
<router-link tag="div" class="tab-item" to="/search">
<span class="tab-link">搜索</span>
</router-link>
</div>
</template>
页面效果

用Vue来实现音乐播放器(五):路由配置+顶部导航栏组件开发的更多相关文章
- 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码 ...
- vue小练习--音乐播放器
1 首先建一个文件夹 放几首歌曲 2 看代码 1)基本版本 <!DOCTYPE html> <html lang="zh-CN"> <head> ...
- 用Vue来实现音乐播放器(三十八):歌词滚动列表的问题
1.频繁切换歌曲时,歌词会跳来跳去 原因: // 歌词跳跃是因为内部有一个currentLyric对像内部有一些功能来完成歌词的跳跃 //每个currentLyric能实现歌曲的播放跳到相应的位置 是 ...
- Vue实战:音乐播放器(一) 页面效果
先看一下效果图 首页 歌单详情页 歌手列表 歌手详情页 排行页面 榜单的详情页(排序样式) 搜索页面 搜索结果 播放器内核 歌词自动滚动 播放列表 用户中心
- 用Vue来实现音乐播放器(二十):Vuex初始化及歌手数据的配置
state:所有组件的所有状态和数据 放入同一个内存空间去管理 我们把它称为state Vue Components:state里面的数据可以方便的映射到组件上 然后渲染组件 Actions:当组件 ...
- 用Vue来实现音乐播放器(十五):处理得到的歌手数据
之前得到的歌手数据是用forEach遍历添加的 没有顺序性 我们希望得到的数据是title:"热门"的数据在最上面 title为字母的数据按字母从低到高顺序排列 var ho ...
- 用Vue来实现音乐播放器(九):歌单数据接口分析
z这里如果我们和之前获取轮播图的数据一样来获取表单的数据 发现根本获取不到 原因是qq音乐在请求头里面加了authority和refer等 但是如果我们通过jsonp实现跨域来请求数据的话 是根本 ...
- 用Vue来实现音乐播放器(八):自动轮播图啊
slider.vue组件的模板部分 <template> <div class="slider" ref="slider"> <d ...
- 用Vue来实现音乐播放器(二十三):音乐列表
当我们将音乐列表往上滑的时候 我们上面的歌手图片部分也会变小 当我们将音乐列表向下拉的时候 我们的图片会放大 当我们将音乐列表向上滑的时候 我们的图片有一个高斯模糊的效果 并且随着我们的列 ...
随机推荐
- [LeetCode] 45. 跳跃游戏 II
题目链接 : https://leetcode-cn.com/problems/jump-game-ii/ 题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位 ...
- Redis : 为什么我们做分布式使用 Redis ?(转)
绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.这里对 Redis 常见问题做一个总结,解决 ...
- DotNetCore知识栈
#..NET Core提供的特性 1.开源.免费 2.轻量级.跨平台 3.组件化.模块化.IOC+Nuget.中间件 4.高性能 5.统一了MVC和WebAPI编程模型 a) 比如:ASP.NET ...
- 在Myeclipse下查看Java字节码指令信息
在实际项目开发中,有时为了了解Java编译器内部的一些工作,需要查看Java文件对应的具体的字节码指令集,这里提供两种方式供参考. 一.使用javap命令 javap是JDK提供的 ...
- git分支/标签操作
git分支类似于某一个模块,等到所有模块开发完毕时,最后聚合在一起形成一个项目.而分支之间一般是不会受影响的. git 分支的基本操作: git branch branchname 表示创建分支,新建 ...
- MySQl查询语句大全
综合使用 查询 目录: #----综合使用 书写顺序 select distinct * from '表名' where '限制条件' group by '分组依据' having '过滤条件' or ...
- Linux之目录与路径
特殊的目录: “.”,代表此层目录 “..”,代表上一层目录 “-”,代表前一个工作目录 “~”,代表“目前用户身份”所在的主文件夹 “~account”,代表account这个用户的主文件夹(acc ...
- Spring MVC 使用MultipartResolver与Commons FileUpload传输文件
配置MultipartResolver:用于处理表单中的file <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver ...
- git-bash.exe参数
baidu搜了很多, 没有结果.估计大家都没有这个场景.google了一下, 几篇非常不错的结果: https://superuser.com/questions/1104567/how-can-i- ...
- vertica merge 优化
-- 查看RDS的订单数(MySQL) select count(*) from ( SELECT tid, IF(LOCATE('pay_time', jdp_response)=0 ...