router文件

    1. import Vue from 'vue'
    2. import VueRouter from 'vue-router'
    3. import Dunkirk from "@/views/Dunkirk.vue"
    4. import Interstellar from "@/views/Interstellar.vue"
    5. import Rise from "@/views/Rise.vue"
    6. import Home from "@/views/Home.vue"
    7. import About from "@/views/About.vue"
    8. Vue.use(VueRouter)
    9. const routes = [
    10. {
    11. path: '/',
    12. name: 'home',
    13. component: Home,
    14. children:[
    15. {
    16. path: '/dunkirk',
    17. name: 'dunkirk',
    18. component: Dunkirk
    19. },
    20. {
    21. path: '/Interstellar',
    22. name: 'Interstellar',
    23. component: Interstellar
    24. },
    25. {
    26. path: '/rise',
    27. name: 'rise',
    28. component: Rise
    29. }
    30. ]
    31. },{
    32. path: '/xxx',
    33. name: "anonymouns",
    34. redirect: '/'
    35. },
    36. {
    37. path: '/rise/:id',
    38. name: 'idtest',
    39. component: About
    40. }
    41. ]
    42. const router = new VueRouter({
    43. mode: 'history',
    44. base: process.env.BASE_URL,
    45. routes
    46. })
    47. export default router

    然后是 App.vue

    1. <template>
    2. <div id="app">
    3. <router-view />
    4. </div>
    5. </template>
    6. <script>
    7. export default {
    8. name: 'App'
    9. }
    10. </script>

    最后是子组件 Home.vue

    1. <template>
    2. <div class="movies">
    3. <h2>
    4. Which Movies?
    5. </h2>
    6. <router-link to="/Dunkirk" active-class="highline">Dunkirk</router-link>
    7. <br>
    8. <router-link to="/Interstellar" active-class="highline">Interstellar</router-link>
    9. <br>
    10. <router-link to="/Rise" active-class="highline">Rise</router-link>
    11. <router-view/>
    12. </div>
    13. </template>
    14. <script>
    15. // @ is an alias to /src
    16. export default {
    17. name: 'Home',
    18. }
    19. </script>

    active-class 并不是真的 class 而是表示动态的添加一个class 到当前标签里面