2016-04-09 14 views
0

Bileşen girişi değiştiğinde veya girişi değiştirmektense ana bileşenden bu işlevi çağırmam gerektiğinde init (veya başka bir yaşam döngüsü işlevi veya işlevi) çalıştırmak için açısal mı olduğunu söylemek mümkün mü?@ Giriş değişikliğini iyileştirme

Cevaplar için teşekkürler!

cevap

2

Bileşenin girişi değiştiğinde, ngOnChanges kullanım döngüsü kancası çalışır. Orada istediğiniz gibi başka bir lifecycle hook or/and any function arayabilirsiniz.

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

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

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

DÜZENLEME: nedense
, aşağıda gösterildiği gibi o zaman ViewChild yararlanabilirler çocuğun ngOnInit ebeveynden aramak istiyorsanız.

export class Parent{ 

    @ViewChild(child) vc:child; 

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

}; 

export class child{ 

    ngOnInit() 
    { 
     console.log('ngOnInit fired'); 
    } 
}; 
İlgili konular