Comment déclencher ngOnChanges uniquement après avoir défini toutes les valeurs d'entrée dans ngOnInit. Mon code ->Comment déclencher ngOnChanges uniquement après avoir défini toutes les valeurs d'entrée dans ngOnInit
`ngOnInit() {
this.multiSelectorData.forEach(item=>{
this.allItems.push(item.data);
});
}
ngOnChanges(changes: SimpleChanges) {
if(changes['dataReady'] && changes['dataReady'].currentValue) {
console.log(this.allItems);
}`
Je reçois wont le tableau I dans initialisés ngonit en ngonchanges parce ngonchanges est appelé avant ngonit, comment puis-je vérifier si tous sont initialisés avant de vérifier ngonchanges?
Ceci est un comportement normal. Jetez un coup d'œil à [Lifecycle Hooks] (https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html) dans les documents Angular 2. Au lieu de 'ngOnChange', vous pouvez essayer' ngAfterViewInit() 'par exemple (Répondre après que Angular initialise les vues et les vues enfants du composant) – mickdev
Oui, je le sais. Est-il possible d'écouter le changement de mes entrées après l'exécution de ngoninit? – RemyaJ
Juste après 'ngOnInit()', 'ngDoCheck()' est exécuté (mais il sera exécuté plusieurs fois). Si vous utilisez des formulaires réactifs, vous pouvez conserver ngOnChange et vérifier si les champs de formulaire sont définis ('if (this.form.get ('yourField'). Value) ...'). Quelque chose de similaire à ce que vous avez maintenant. – mickdev