2016-04-09 12 views
0

コンポーネントの入力が変更されたときにinit(または他のライフサイクルの関数や関数)を実行するようにangleを指定することはできますか、入力を変更するのではなく親コンポーネントから関数を呼び出す必要がありますか?@Inputの変更を反映する

ありがとうございます!

答えて

2

コンポーネントの入力が変更されると、ngOnChangesライフサイクルフックが実行されます。そこに他のlifecycle hook or/and any functionを呼び出すことができます。

ngOnChanges(...args: any[]) { 

    console.log('onChange fired');    
    this.ngOnInit(); 
} 

ngOnInit() 
{ 
    console.log('ngOnInit fired'); 
} 

EDIT
何らかの理由であなたが子供のngOnInit親からを呼び出したい場合は、以下のように、あなたはViewChildを利用することができます。

export class Parent{ 

    @ViewChild(child) vc:child; 

    ngAfterViewInit() 
    { 
     console.log("ngAfterInit"); 
     console.log(this.vc.ngOnInit()); 
    } 

}; 

export class child{ 

    ngOnInit() 
    { 
     console.log('ngOnInit fired'); 
    } 
}; 
関連する問題