路由配置

在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来实现音乐播放器(五):路由配置+顶部导航栏组件开发的更多相关文章

  1. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码 ...

  2. vue小练习--音乐播放器

    1 首先建一个文件夹 放几首歌曲 2 看代码 1)基本版本 <!DOCTYPE html> <html lang="zh-CN"> <head> ...

  3. 用Vue来实现音乐播放器(三十八):歌词滚动列表的问题

    1.频繁切换歌曲时,歌词会跳来跳去 原因: // 歌词跳跃是因为内部有一个currentLyric对像内部有一些功能来完成歌词的跳跃 //每个currentLyric能实现歌曲的播放跳到相应的位置 是 ...

  4. Vue实战:音乐播放器(一) 页面效果

    先看一下效果图 首页 歌单详情页 歌手列表 歌手详情页 排行页面 榜单的详情页(排序样式) 搜索页面 搜索结果 播放器内核 歌词自动滚动 播放列表 用户中心

  5. 用Vue来实现音乐播放器(二十):Vuex初始化及歌手数据的配置

    state:所有组件的所有状态和数据  放入同一个内存空间去管理 我们把它称为state Vue Components:state里面的数据可以方便的映射到组件上 然后渲染组件 Actions:当组件 ...

  6. 用Vue来实现音乐播放器(十五):处理得到的歌手数据

    之前得到的歌手数据是用forEach遍历添加的  没有顺序性  我们希望得到的数据是title:"热门"的数据在最上面  title为字母的数据按字母从低到高顺序排列 var ho ...

  7. 用Vue来实现音乐播放器(九):歌单数据接口分析

    z这里如果我们和之前获取轮播图的数据一样来获取表单的数据  发现根本获取不到 原因是qq音乐在请求头里面加了authority和refer等 但是如果我们通过jsonp实现跨域来请求数据的话  是根本 ...

  8. 用Vue来实现音乐播放器(八):自动轮播图啊

    slider.vue组件的模板部分 <template> <div class="slider" ref="slider"> <d ...

  9. 用Vue来实现音乐播放器(二十三):音乐列表

    当我们将音乐列表往上滑的时候   我们上面的歌手图片部分也会变小 当我们将音乐列表向下拉的时候   我们的图片会放大 当我们将音乐列表向上滑的时候   我们的图片有一个高斯模糊的效果 并且随着我们的列 ...

随机推荐

  1. PHP 中一个 False 引发的问题,差点让公司损失一百万

    PHP 中一个 False 引发的问题,差点让公司损失一百万 一.场景描述 上周我一个在金融公司的同学,他在线上写一个 Bug,差点造成公司损失百万.幸好他及时发现了这个问题并修复了.这是一个由 PH ...

  2. seajs与requirejs

    1 seajs暴露的两个对象 二 define()定义 引用模块 三插件 css插件和requirejs插件 4 seajs使用和建议

  3. Vue之指令和绑定

    一.v-once指令 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&quo ...

  4. Spring基础09——Bean的自动装配

    1.XML配置的Bean自动装配 SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,而不需要手工去指定要装配的Bean,a ...

  5. mkfs - 创建一个 Linux 文件系统

    总览 mkfs [ -V ] [ -t 文件系统类型 ] [ fs-选项 ] 文件系统 [ 块 ] 描述 mkfs mkfs 用来在指定设备创建一个 Linux 文件系统,通常是在硬盘上. 文件系统 ...

  6. linux 源码安装postgresql

    下载源码包 --安装所需要的系统软件包 yum groupinstall -y "Development tools" yum install -y bison flex read ...

  7. Linux 下安装中文字体

    本文以安装黑体为例,简单演示如何在Linux下安装中文字体. 环境信息介绍 [root@thatsit ~]# cat /etc/redhat-release CentOS Linux release ...

  8. linux tomcat 中文文件上传乱码

    找到tomcat文件夹下的conf/server.xml,在connector节点下新增URIEncoding="utf-8"参数 <Connector connection ...

  9. bzoj4542 [Hnoi2016]大数 莫队+同余

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4542 题解 我们令 \(f_i\) 表示从 \(i\) 到 \(n\) 位组成的数 \(\bm ...

  10. 在Wi-Fi路由器中发现了新的安全漏洞

    黑客利用两种互联网通用协议的互动的漏洞:传输控制协议,或TCP和Wi-Fi.该漏洞利用并不针对任何传统的安全漏洞.相反,安全方面的弱点在于20多年前制定的基本Wi-Fi设计决策极难改变. 中国黑客教父 ...