跳到主要内容

简述active-class是哪个组件的属性?嵌套路由怎么定义 ?

参考答案:

active-class 是 Vue Router 的 <router-link> 组件的属性。这个属性用于设置当前激活的链接应该应用的 CSS 类名。默认情况下,当 <router-link> 对应的路由被激活时,它会自动被赋予 router-link-active 这个类名。但是,你可以通过 active-class 属性来自定义这个类名。

例如,你可以这样使用 active-class 属性:

<router-link to="/home" active-class="active-link">Home</router-link>

在这个例子中,当 /home 路由被激活时,<router-link> 组件会自动被赋予 active-link 这个类名。

关于嵌套路由的定义,Vue Router 允许你通过嵌套路由来创建更复杂的 UI 结构。嵌套路由其实就是在一个路由中定义另一个路由。你可以通过在路由配置对象中使用 children 数组来定义嵌套路由。

例如,以下是一个包含嵌套路由的路由配置示例:

const routes = [
  {
    path: '/user/:id',
    name: 'user',
    component: User,
    children: [
      {
        path: 'profile',
        component: UserProfile,
      },
      {
        path: 'posts',
        component: UserPosts,
      }
    ]
  }
]

在这个例子中,/user/:id 路由下有两个子路由:/user/:id/profile/user/:id/posts。当用户访问 /user/1/profile 时,User 组件会被渲染为父视图,而 UserProfile 组件会被渲染为子视图。类似地,当用户访问 /user/1/posts 时,User 组件仍然会被渲染为父视图,但 UserPosts 组件会被渲染为子视图。

要在 Vue 组件中渲染嵌套路由,你可以使用 <router-view> 组件。<router-view> 组件会根据当前的路由自动渲染对应的组件。你可以在父组件中使用 <router-view> 来渲染子路由对应的组件。

<template>
  <div>
    <h1>User</h1>
    <router-view></router-view> <!-- 这里会渲染子路由对应的组件 -->
  </div>
</template>

在这个例子中,<router-view> 组件会被替换为 /user/:id/profile/user/:id/posts 路由对应的组件(UserProfileUserPosts)。