2016-07-14 1 views
1

composant parentAngular2 - détecter le changement de variable enfant composant

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... 
    } 

} 

composante enfant

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

Comment puis-je détecter si child.detectme ​​changé et imprimer sa valeur?

+0

C'est 'ngOnChanges' pas' ngOnChange' – Lekhnath

+0

Désolé, mais cela a été causé par une réécriture manuelle. J'ai ngOnChanges. – elzoy

Répondre

2

Vous souhaitez détecter dans le composant parent que la valeur dans le composant enfant a changé, n'est-ce pas? Si c'est le cas, vous devez utiliser EventEmitter dans le composant enfant et émettre l'événement. Ensuite, vous vous abonnez à l'événement dans le composant parent en utilisant la syntaxe (eventNameFromChild)="handler($event)".

Créé un plunk pour vous.