在 Vue 应用中,<router-view> 是一个非常重要的内置组件,它作为路由出口,用于渲染匹配到的路由组件。当你使用 Vue Router 定义了路由之后,你可以在应用的模板中放置 <router-view> 组件,它会根据当前的路由渲染相应的组件。

以下是 <router-view> 的一些基本用法:

  1. 基本使用: 在 Vue 应用的模板中,你可以放置一个或多个 <router-view> 组件。每个 <router-view> 都可以渲染一个路由匹配到的组件。
<!-- App.vue -->
<template>
  <div id="app">
    <router-link to="/home">Home</router-link>
    <router-link to="/about">About</router-link>
    <router-view></router-view>
  </div>
</template>
  1. 嵌套路由: 如果你有嵌套路由,可以在父组件中使用 <router-view>,然后在子路由对应的组件中也可以使用 <router-view> 来渲染更深层级的组件。
// router/index.js
const routes = [
  {
    path: '/parent',
    component: ParentComponent,
    children: [
      {
        path: 'child',
        component: ChildComponent
      }
    ]
  }
];
<!-- ParentComponent.vue -->
<template>
  <div>
    <h1>Parent Component</h1>
    <router-view></router-view> <!-- 渲染子路由 -->
  </div>
</template>
  1. 命名视图: 如果你的应用有多个不同的视图需要同时显示,你可以使用命名的 <router-view> 来实现。
// router/index.js
const routes = [
  {
    path: '/',
    component: Home,
    children: [
      {
        name: 'sidebar',
        path: 'sidebar',
        component: Sidebar
      },
      {
        name: 'content',
        path: '',
        component: MainContent
      }
    ]
  }
];
<!-- Home.vue -->
<template>
  <div>
    <router-view name="sidebar"></router-view> <!-- 渲染 sidebar 组件 -->
    <router-view name="content"></router-view> <!-- 渲染 main content 组件 -->
  </div>
</template>
  1. 传递 props: 有时候你可能需要向路由组件传递 props。你可以在路由配置中定义 props 选项。
// router/index.js
const routes = [
  {
    path: '/user/:id',
    component: User,
    props: true // 允许路由组件通过 props 接收路由参数
  }
];
<!-- User.vue -->
<template>
  <div>
    User ID: {{ userId }}
  </div>
</template>
<script>
export default {
  props: ['id']
};
</script>

在上述示例中,<router-view> 会根据当前 URL 的路径渲染对应的组件。当用户导航到不同的路由时,Vue Router 会自动更新 <router-view> 以显示匹配的组件。

确保你的 Vue 应用已经安装并正确配置了 Vue Router,这样 <router-view> 才能正常工作。