假设我们有一条角线定义为:
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: '/user',
component: UserComponent,
children: [
{
path: 'edit-profile',
component: EditProfileComponent
}
]
}
]
我想确定路由器加载的当前组件。
因此,如果用户访问/user/edit-profile
,那么我想要EditProfileComponent
作为字符串或对象;如果用户访问/
,那么我想要HomeComponent
。
答案 0 :(得分:1)
使用ActivatedRoute服务,该服务提供对有关与插座中加载的组件关联的路线的信息的访问。然后使用路由器事件,只要路由发生更改,就会触发该事件。
constructor(private router: Router, private route: ActivatedRoute) {}
this.router.events.subscribe(event => {
if(event instanceof NavigationEnd){
console.log(this.route.component.name);
}
})