2016-07-14 13 views
1

Geordnete KomponenteAngular2 - detect Komponente Kind variable Änderung

import { Component, OnChange } from '@angular/core'; 
import { ChildComponent } from '../../reusable/user-offers/user-offers.component'; 
@Component({ 
    ... 
    directives: [ ChildComponent ] 
}) 
export class ParentComponent implements OnChange { 
    @ViewChild(ChildComponent) 
    private child: ChildComponent; 

    ngOnChanges() { 
    detecting this.child.detectme variable... 
    } 

} 

Kinderkomponente

import { Component, Input } from '@angular/core'; 
@Component({ 
    ... 
}) 
export class ParentComponent {  
    @Input() detectme: string; 
    //in view something changes detectme value (not important here) 
} 

Wie kann ich erkennen, ob child.detectme ​​geändert und drucken Sie es Wert ist?

+0

Es ist 'ngOnChanges' nicht' ngOnChange' – Lekhnath

+0

Sorry, aber das wurde durch manuelles Umschreiben verursacht. Ich habe ngOnChanges. – elzoy

Antwort

2

Sie möchten in der übergeordneten Komponente erkennen, dass sich der Wert in der untergeordneten Komponente geändert hat, richtig? In diesem Fall sollten Sie EventEmitter in der untergeordneten Komponente verwenden und das Ereignis ausgeben. Dann abonnieren Sie das Ereignis in der übergeordneten Komponente mit (eventNameFromChild)="handler($event)" Syntax.

Erstellt eine plunk für Sie.

Verwandte Themen