cari

Rumah  >  Soal Jawab  >  teks badan

javascript - soalan pemula penghalaan vue

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?

PHP中文网PHP中文网2730 hari yang lalu880

membalas semua(3)saya akan balas

  • 怪我咯

    怪我咯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 }

    balas
    0
  • 高洛峰

    高洛峰2017-07-05 10:42:40

    Lihat pada paparan bernama https://router.vuejs.org/zh-c...

    balas
    0
  • typecho

    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>

    balas
    0
  • Batalbalas