Rumah > Soal Jawab > teks badan
1: Saya baru menggunakan Vue dan saya tidak tahu banyak tentang pautan penghala dan paparan penghala Soalan umum adalah seperti berikut:
Struktur kod sedia ada adalah seperti berikut, yang boleh difahami sebagai navigasi di sebelah kiri dan kawasan paparan di sebelah kanan
//content.vue
<p class = "row">
<p id="music_left_menu" class = "col-md-2">
<h4>推荐</h4>
<ul class="list-group">
<li><i class = "fa fa-music"></i><router-link to = "/foundMusic">发现音乐</router-link> </li>
<li><i class = "fa fa-bullhorn"></i> 私人FM</li>
<li><i class = "fa fa-youtube-play" ></i> MV</li>
</ul>
</p>
<router-view class="router-view col-md-10"></router-view>
</p>
//router.js
import foundMusic from "../compontents/found_music.vue"
routes:[
{
path:"/foundMusic",
component: foundMusic
}
]
Selepas mengkonfigurasi laluan, mengklik pautan penghala boleh menjadikan ia ke paparan penghala dengan berkesan
Tetapi apa yang saya mahukan ialah struktur berikut
<p class = "row">
<left-menu></left-menu>
<router-view class="router-view col-md-10"></router-view>
</p>
import leftMenu from './menu_content/left_menu.vue'
export default {
name: 'musicContent',
components:{
leftMenu
}
}
//left_menu.vue 中的结构如下
<template>
<p id="music_left_menu" class = "col-md-2">
<h4>推荐</h4>
<ul class="list-group">
<li><i class = "fa fa-music"></i><router-link to = "/foundMusic">发现音乐</router-link> </li>
<li><i class = "fa fa-bullhorn"></i> 私人FM</li>
<li><i class = "fa fa-youtube-play" ></i> MV</li>
</ul>
</p>
</template>
Tetapi pada masa ini, apabila saya mengklik "Temui Muzik", ia tidak dipaparkan kepada paparan penghala. Bagaimana saya boleh menukar laluan ini
Saya benar-benar tidak faham perkara ini?
怪我咯2017-07-05 10:42:40
router.js hendaklah ditulis seperti ini
//router.js
Vue.use(Router)
import foundMusic daripada "../components/found_music.vue"
eksport Penghala baharu lalai({
laluan:[
{
path:"/foundMusic",
component: foundMusic
}
]
})
Anda mencuba komponen:{ "left-menu":leftMenu }
typecho2017-07-05 10:42:40
Setelah meneliti semula logik, saya dapati ia adalah perkara biasa, saya akan menyiarkan kod biasa di bawah, yang boleh dianggap sebagai membantu pendatang baru. Terima kasih banyak-banyak kepada yang menjawab soalan
//App.vue
<template>
<p id = "app">
<music-nav></music-nav>
<music-content></music-content>
<music-playing-wapper></music-playing-wapper>
</p>
</template>
<script>
import musicNav from "./nav.vue"
import musicContent from "./music_content.vue"
import musicPlayingWapper from "./playing_wapper.vue"
export default {
name:'app',
components:{
musicNav,
musicContent,
musicPlayingWapper
}
}
</script>
//main.js
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import axios from 'axios'
import router from './router/router'
Vue.prototype.axios = axios
Vue.prototype.MUSICAPI = '/api'
Vue.use(VueRouter)
new Vue({
el: '#app',
router,
render: h => h(App)
})
//router.js
import Router from "vue-router"
import content from "../music_content.vue"
import foundMusic from "../compontents/found_music.vue"
import App from "../compontents/found_music.vue"
export default new Router({
routes:[
{
path:"/foundMusic",
component: foundMusic
}
]
});
//music_content.vue
<template>
<p id="music_content" class = "container-fluid">
<p class = "row">
<left-menu></left-menu>
<router-view class="router-view col-md-10"></router-view>
</p>
</p>
</template>
<script>
import leftMenu from './menu_content/left_menu.vue'
export default {
name: 'musicContent',
components:{
leftMenu
}
}
</script>