2016-07-14 93 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