Hello,
Nouveau cas de figure aujourd'hui ! comme dit dans le titre je veux envoyer une data d'enfant à parent. sur le coup, je suis parti sur un @Output. Le soucis c'est que le compo enfant est un élément routé représenté donc par
<router-outlet></router-outlet> dans le compo parent
En googlant quelques minutes, je m'aperçoiqsque apparament, on ne peut pas faire un truc du genre :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <router-outlet (monEvent)="faisUnTruc()"></router-outlet>
Du coup, je pars sur un subject...Erreur là encore, car la variable que je veux faire passer (un boolean) de l'enfant au parent conditionne le rendu de la vue parent. Du coup, je modifie la vue de mon parent après la détection de changement et ça fout le bazard, plus précisement, ça génère ceci : ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked....Bref, je m'en sors pas
Bon un peu de mauvais code à présent :
le ts compo enfant, je souhaite récupérer la variable "isTest" :
Le html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @Output testEvent: EventEmitter<boolean> = new EvenEmitter<boolean>(); ngOnInit(): void { this.itemsMenu = this.rayonService.itemsMenu; this.activatedRoute.paramMap.subscribe(params => { let paramUrlZone = params.get('id'); if (paramUrlZone !== null) { this.isTest = true; // comment passer au parent ? this.testEvent.emit(this.isTest); } }); this.initRefForm(); }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <router-outlet (testEvent)="faisUnTruc($event)"></router-outlet>
Bon merci, désolé pour la question galère
Partager