2016-07-14 127 views
1

父組件Angular2 - 檢測組件子變量的變化

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

} 

子組件

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

我如何檢測child.detectme改變並打印它的價值呢?

+0

它是'n​​gOnChanges'而不是'ngOnChange' – Lekhnath

+0

對不起,但那是手動重寫造成的。我有ngOnChanges。 – elzoy

回答

2

您想要在父組件中檢測到子組件中的值已更改,對嗎?如果是這樣,您應該在子組件中使用EventEmitter併發出事件。然後,您使用(eventNameFromChild)="handler($event)"語法訂閱父組件中的事件。

爲您創建了一個plunk