在Angular中,可以通过在路由配置中使用outlet
属性来定义辅助路由。默认情况下,Angular会使用primary
作为主要路由的outlet
名称。
下面是一个示例,演示如何在Angular中添加默认辅助路由:
首先,在路由模块中定义辅助路由的组件和路径:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { MainComponent } from './main.component';
import { SidebarComponent } from './sidebar.component';
import { DashboardComponent } from './dashboard.component';
const routes: Routes = [
{
path: '',
component: MainComponent,
children: [
{ path: '', component: DashboardComponent },
{ path: 'sidebar', component: SidebarComponent, outlet: 'sidebar' }
]
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
在上面的示例中,我们定义了一个名为sidebar
的辅助路由,并将其组件SidebarComponent
与之关联。
接下来,在主组件的模板中,使用router-outlet
指令来显示主要路由和辅助路由:
在上面的示例中,我们使用router-outlet
指令两次,分别用于显示主要路由和辅助路由。
最后,在主组件的控制器中,可以使用Router
来导航到辅助路由:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-main',
templateUrl: './main.component.html',
styleUrls: ['./main.component.css']
})
export class MainComponent {
constructor(private router: Router) { }
showSidebar() {
this.router.navigate([{ outlets: { sidebar: 'sidebar' } }]);
}
}
在上面的示例中,我们使用Router
的navigate
方法,并在outlets
参数中指定sidebar
辅助路由的路径。
现在,当调用showSidebar
方法时,辅助路由将显示在名为sidebar
的router-outlet
中。
请注意,当导航到辅助路由时,主要路由仍然保持不变。