简述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
路由对应的组件(UserProfile
或 UserPosts
)。