在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中。
请注意,当导航到辅助路由时,主要路由仍然保持不变。