1、路由嵌套,如下图

image.png

2、在6.vue-router传参项目下“关于”页面里做个嵌套路由。

在views文件平添加about文件夹,并在about文件夹下分别添加两个子组件.
AboutUsView.vue:

  1. <template>
  2. <h3>关于我们</h3>
  3. </template>

AboutInfoView.vue:

  1. <template>
  2. <h3>关于详情</h3>
  3. </template>

3、修改index.js路由文件

  1. import { createRouter, createWebHistory } from 'vue-router'
  2. import HomeView from '../views/HomeView.vue'
  3. const routes = [
  4. {
  5. path: '/',
  6. name: 'home',
  7. component: HomeView
  8. },
  9. {
  10. path: '/about',
  11. name: 'about',
  12. // 用重定向让关于界面默认指向us
  13. redirect: '/about/us',
  14. component: () => import('../views/AboutView.vue'),
  15. // 添加子页面
  16. children: [
  17. {
  18. // 二级导航的路径不要添加 /
  19. path: 'us',
  20. component: () => import('../views/about/AboutUsView'),
  21. },
  22. {
  23. // 二级导航的路径不要添加 /
  24. path: 'info',
  25. component: () => import('../views/about/AboutInfoView'),
  26. },
  27. ]
  28. },
  29. {
  30. path: '/news',
  31. name: 'news',
  32. // 一般非首页会用这种方式进行引入,这种方式只有要显示时才会加载,相当于加快了网站首页的显示
  33. component: () => import('../views/NewsView'),
  34. },
  35. {
  36. path: '/newsdetails/:name',
  37. name: 'newsdetails',
  38. // 一般非首页会用这种方式进行引入,这种方式只有要显示时才会加载,相当于加快了网站首页的显示
  39. component: () => import('../views/NewsDetailsView')
  40. },
  41. ]
  42. const router = createRouter({
  43. history: createWebHistory(process.env.BASE_URL),
  44. routes
  45. })
  46. export default router

4、修改AboutView.vue文件:

  1. <template>
  2. <div class="about">
  3. <router-link to="/about/us">关于我们</router-link> |
  4. <router-link to="/about/info">关于信息</router-link>
  5. <router-view></router-view>
  6. </div>
  7. </template>

5、查看效果

image.png