2017-03-01 6 views
0

Ich habe eine Komponente mit einem Router Steckdose. Diese Komponente hat ein Select-Element, das ich über einen Service mit einigen Kategorien auf ngOnInit füttere. Es gibt 3 untergeordnete Routen, von denen eine zu einer Komponente navigiert, die diese Kategorien ebenfalls verwenden möchte.Angular 2: Daten von Eltern zu Kind übertragen

Aussehen Meine Routen wie diese

const routes: Routes = [ 
{ 
    path: 'marketplace', 
    component: MarketplaceComponent, 
    resolve: { categories: CategoriesResolveService }, 
    canActivate: [AuthenticatedGuard], 
    children: [  
    { path: 'modules', component: ModulesComponent, resolve: { categories: CategoriesResolveService } }  
    ] 
}]; 

Das macht 2 http die Kategorien zu bekommen Anrufe. Wie kann ich diese Daten an die untergeordnete Komponente übertragen? Ich möchte es vermeiden, einen weiteren http-Anruf zu machen. Ist es möglich, diese Daten zwischen Eltern und Kind zu teilen?

+0

Sie mit viewChild versuchen Are()? –

+0

habe keine Ahnung was ViewChild ist, werde ich sehen, danke –

+0

ViewChild funktioniert, indem die Child-Komponente in der Vorlage der Eltern deklariert wird? Wenn ja, dann denke ich, dass es in diesem Szenario nicht funktionieren wird, ich habe nur den Router Outlet. –

Antwort

0
export class parentComponent { 

    @ViewChild(ChildOneComponent) 
    private childOneComponent: ChildOneComponent; 

    @ViewChild(ChildTwoComponent) 
    private childTwoComponent: ChildTwoComponent; 

    let date = this.childOneComponent.method1; 

} 

diese method1() ist in Ihrem Kind Komponente definieren für method.you Komponenten in Ihrer Mutter Komponente importieren Kind bekommen müssen.

ChildOneComponent { 
    get method1() { 
    return this.value//return which value you pass. 
    } 
} 
Verwandte Themen