J'ai essayer de créer un nouveau composant, mais son ngOnInit() la méthode est appelé deux fois, je n'ai pas pas pourquoi ce qui se passe? J'ai créé ici sur composant appelé ResultComponent qui prend @Entrée du composant parent appelé qcm-composant Voici le code:
Composant Parent (MCQComponent)
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'mcq-component',
template: `
<div *ngIf = 'isQuestionView'>
.....
</div>
<result-comp *ngIf = '!isQuestionView' [answers] = 'ansArray'><result-comp>
`,
styles: [
`
....
`
],
providers: [AppService],
directives: [SelectableDirective, ResultComponent]
})
export class MCQComponent implements OnInit{
private ansArray:Array<any> = [];
....
constructor(private appService: AppService){}
....
}
Enfant Composant (résultat-comp)
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector:'result-comp',
template: `
<h2>Result page:</h2>
`
})
export class ResultComponent implements OnInit{
@Input('answers') ans:Array<any>;
ngOnInit(){
console.log('Ans array: '+this.ans);
}
}
Ici journal de la console qui affiche 2 fois: la première fois, il montre de tableau correct mais la deuxième fois, il montre pas défini, mais je ne suis pas en mesure de comprendre, pourquoi ngOnInit de ResultComponent appelé deux fois ?