为什么<router-view/>就可以把Home.vue里的文件加载进来呢?

来源:4-6 网站首页布局开发

慕粉0011103641

2022-03-09

App.vue

<template>
  <a-layout>
    <the-header></the-header>
<!--    <a-layout>-->
      <router-view/>
<!--    </a-layout>-->
    <the-footer></the-footer>
  </a-layout>

</template>

<script lang="ts">
import { defineComponent } from 'vue';
import TheHeader from '@/components/the-header.vue';
import TheFooter from '@/components/the-footer.vue';
export default defineComponent({
  name: 'app',
  components: {
    TheHeader,TheFooter
  },
});
</script>

Home.vue

<template>
  <a-layout>
    <a-layout-sider width="200" style="background: #fff">
      <a-menu
          v-model:selectedKeys="selectedKeys2"
          v-model:openKeys="openKeys"
          mode="inline"
          :style="{ height: '100%', borderRight: 0 }"
      >
        <a-sub-menu key="sub1">
          <template #title>
              <span>
                <user-outlined />
                subnav 1
              </span>
          </template>
          <a-menu-item key="1">option1</a-menu-item>
          <a-menu-item key="2">option2</a-menu-item>
          <a-menu-item key="3">option3</a-menu-item>
          <a-menu-item key="4">option4</a-menu-item>
        </a-sub-menu>
        <a-sub-menu key="sub2">
          <template #title>
              <span>
                <laptop-outlined />
                subnav 2
              </span>
          </template>
          <a-menu-item key="5">option5</a-menu-item>
          <a-menu-item key="6">option6</a-menu-item>
          <a-menu-item key="7">option7</a-menu-item>
          <a-menu-item key="8">option8</a-menu-item>
        </a-sub-menu>
        <a-sub-menu key="sub3">
          <template #title>
              <span>
                <notification-outlined />
                subnav 3
              </span>
          </template>
          <a-menu-item key="9">option9</a-menu-item>
          <a-menu-item key="10">option10</a-menu-item>
          <a-menu-item key="11">option11</a-menu-item>
          <a-menu-item key="12">option12</a-menu-item>
        </a-sub-menu>
      </a-menu>
    </a-layout-sider>
    <a-layout-content
        :style="{ background: '#fff', padding: '24px', margin: 0, minHeight: '280px' }"
    >
      Content123
    </a-layout-content>
  </a-layout>
</template>

<script lang="ts">
import { defineComponent } from 'vue';
// import HelloWorld from '@/components/HelloWorld.vue'; // @ is an alias to /src

export default defineComponent({
  name: 'Home',
  // components: {
  //   HelloWorld,
  // },
});
</script>

还是没弄明白,Appvue和Homevue这两个文件是怎么关联的?为什么就可以把Home.vue里的文件加载进来呢?

写回答

2回答

慕工程7058922

2024-06-09

我也有这个问题

0
0

甲蛙

2022-03-09

要多看一个路由配置文件/router/index.ts

app.vue可以理解是一个架子页面,里面的内容是变化的,router-view那块区域是根据你访问的地址来变的

当你要访问/时,在/router/index.ts里有配置 / 和 home.vue是配置在一起的,所以就会把home.vue的内容放到app.vue这个架子里的router-view区域

0
1
慕粉0011103641
谢谢老师!明白了
2022-03-09
共1条回复

Spring Boot+Vue3前后端分离,实战wiki知识库系统

一课掌握前后端最火框架,更有职场竞争力

2525 学习 · 1672 问题

查看课程