У меня проблемы с написанием родительского компонента с дочерними компонентами.Когда я направляю к потомкам, кажется, что он также воссоздает родителя, что приводит к удвоению html.
Вы можете увидеть это в примере со стеком, который я создал здесь .
В корне моего приложения у меня есть компонент конфигурации:
@Component({
selector: 'app-configuration',
template: ` <app-sidebar></app-sidebar>
<router-outlet></router-outlet>`
})
Затем он содержит компонент боковой панели, в котором есть мой список ссылок, по которым я хочу перейти.
@Component({
selector: 'app-sidebar',
template: `<div id="menu">
<ul *ngFor="let gateway of gateways$ | async">
<li><a routerLink="configure/{{gateway.toLowerCase()}}">
{{gateway}}</a></li>
</ul>
</div>`
})
export class SidebarComponent implements OnInit {
gateways$:Observable<string[]>;
constructor() { }
ngOnInit() {
this.gateways$ = this.getGateways()
}
getGateways():Observable<string[]>{
let gateways=["CDS","MCP","CNS"]
return of(gateways);
}
Кажется, причина проблемы в том, как я определил свои маршруты:
const routes: Routes = [
{
path:'configure',component: ConfigurationComponent,
children:[
{path:'cds', component: CdsComponent},
{path:'mcp', component:McpComponent},
{path:'cns', component:CnsComponent},
]
}
Может кто-нибудь сказать мне, возможно ли сделать то, что я пытаюсь сделать, так, как яя делаю это?Я надеялся разместить дочерние компоненты в компоненте конфигурации, чтобы потом можно было добавить дочерние компоненты в конфигурацию, чтобы я мог заниматься другими делами.