Wie kann ich ngOnChanges erst auslösen, nachdem alle Eingabewerte in ngOnInit gesetzt wurden? Mein Code ->Wie kann ich ngOnChanges nur auslösen, nachdem alle Eingabewerte in ngOnInit gesetzt wurden
`ngOnInit() {
this.multiSelectorData.forEach(item=>{
this.allItems.push(item.data);
});
}
ngOnChanges(changes: SimpleChanges) {
if(changes['dataReady'] && changes['dataReady'].currentValue) {
console.log(this.allItems);
}`
ich gewohnt das Array ich in ngonit in ngonchanges initialisiert, weil ngonchanges vor ngonit genannt wird, wie kann ich überprüfen, ob alle vor der Prüfung ngonchanges initialisiert werden?
Dies ist normales Verhalten. Sehen Sie sich die [Lifecycle-Hooks] (https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html) in Angular 2 an. Statt 'ngOnChange' können Sie' ngAfterViewInit() 'zum Beispiel versuchen (Antwort nach Angular initialisiert die Ansichten und untergeordneten Ansichten der Komponente) – mickdev
Ja, das weiß ich. Gibt es eine Möglichkeit, die Änderung meiner Eingaben zu hören, nachdem ngoninit ausgeführt wurde? – RemyaJ
Gleich nach dem 'ngOnInit()' wird 'ngDoCheck()' ausgeführt (wird aber mehrfach ausgeführt). Wenn Sie reaktive Formulare verwenden, können Sie ngOnChange beibehalten und prüfen, ob die Formularfelder gesetzt sind ('if (this.form.get ('yourField'). Value) ...'). Etwas Ähnliches wie das, was Sie jetzt haben. – mickdev