Vue学习笔记05-H5实例百度音乐

目录

示例: src/route.js

import Vue from 'vue'
import VueRouter from "vue-router"
import Index from "../pages/index" 
import MusicNav from "../pages/MusicNav" 
import HotMusic from "../pages/MusicList/HotMusic"
import NewMusic from "../pages/MusicList/NewMusic"
import KingMusic from "../pages/MusicList/KingMusic"


Vue.use(VueRouter);

export default new VueRouter({
    
    
    routes: [
        { path: '/', name: 'Index', component: Index, redirect: 'HotMusic', 
            children: [
                 { path: 'hot', name: 'HotMusic', component: HotMusic},
                 { path: 'new', name: 'NewMusic', component: NewMusic},
                 { path: 'king', name: 'KingMusic', component: KingMusic},
         ]},
    ]
});

src/main.js

import Vue from 'vue'
import App from './App'
import Axios from 'axios'
import router from './router'


Vue.prototype.$axios = Axios;  
Vue.prototype.HOST = '/api'

Vue.config.productionTip = false 

new Vue({
    
    
  el: '#app', 
  router,
  components: { App }, 
  template: '<App/>' 
})

src/App.vue

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
     
     
  name: 'App',
  data() {
     
     
    return {
     
     
     
    }
  },
  components: {
     
     
    Index
  }
}
</script>

<style>
</style>

注:App.vue中应使用路由的形式引入,如果使用组件的方式引入index.vue会导致显示两次。

src/pages/index.vue

<template>
    <div class="container">
        <router-view/>
    </div>
</template>
<script>
import MusicNav from './MusicNav'
export default {
     
     
    name: 'index',
    data() {
     
     
        return {
     
     

        }
    },
    components:{
     
     
        MusicNav
    }
}
</script>
<style>
</style>

src/pages/MusicNav.vue

<template>
    <div class="musicnav">
        <div class="bars">
            <router-link to="/musiclist/hot">热歌榜</router-link>
            <router-link to="/musiclist/new">新歌榜</router-link>
            <router-link to="/musiclist/king">King榜</router-link>
         </div> 
        <router-view/>
    </div>
</template>
<script>
export default {
     
     
    name: 'musicnav',
    data() {
     
     
        return {
     
     
        }
    },
}
</script>
<style>
    ul.songlist{
     
     
        padding: 10px;
    }
    li.song {
     
     
        list-style: none;
    }
    li.song div.poster {
     
     
        clear: both;
        float: left;
        margin-right: 10px;
    }
    li.song img {
     
     
        width: 40px;
        height: 40px;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临渊-测试开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值