我试图排除一个组件,如果某个模块已在延迟加载应用程序中路由。
例如,在我的AppComponent中,我使用的是路由器插座和组件上方:
<div>
<my-component></my-component> --> don't show if module is StartModule
<router-outlet></router-outlet>
</div>
我的路由配置如下所示:
export const routes: Routes = [
{
path: 'start',
loadChildren: './start/start.module#StartModule',
},
{
path: 'first',
loadChildren: './first/first.module#FirstModule'
},
{
path: 'second',
loadChildren: './second/second.module#SecondModule'
}
];
是否有一个参数来接收路由模块以进行检查
isStartModule(): boolean {
if (routedModule == StartModule) {
return true;
}
}
<my-component *ngIf="!isStartModule()"></my-component>
?
constructor(private router: Router ) {}
试着检查一下
this.router.url === '/start'
然后做点什么
您可以在app-component中设置路由更改侦听器,如下所示:
this.router.events.pipe(
filter((event) => event instanceof NavigationEnd))
.subscribe(x => {
console.log('THIS IS FOR TEST', x['url']);
}
);