Je cherche des moyens de résoudre un problème dans Angular 8. P>
Dites que j'ai trois composants, SearchFielDComponent, résultatFieldComponent1 et résultatsFieldComponent2. P>
Dans le composant Searchfield, je tape quelque chose, cliquez sur un bouton et effectuez plusieurs demandes d'obtention d'accès. Ces demandes d'obtention sont appelées demande1 et demande2. P>
Comment puis-je mettre à jour le résultatFieldComponent1 avec les données de demande1 et de résultatsFieldComponent2 avec les données de demande2? Quel type de communication puis-je utiliser pour cela? P>
J'essaie de traiter les trois composantes en tant que frères et sœurs, mais il serait préférable d'avoir la recherchefieldComponce être un parent aux autres composants? P>
3 Réponses :
Créer un service partagé et utilisez sujet à émettre et à souscrire quelque chose comme puis dans votre premier et second composant abonnez-vous comme p> Et dans votre composant parent, émettez-la comme p>
Je pense que SearchFieldComponent code> doit être traité comme un composant parent. Chaque fois que nous cliquons sur le bouton qui déclenche 2 demandes, nous devrions les stocker dans 2 variables de flux et les transmettre comme entrée sur le résultatFieldComponent2 et résultatfieldComponent1.
<div>
<result-field-component1 data="results1$"></result-field-component1>
<result-field-component1 data="results2$"></result-field-component1>
</div>
SearchFieldComponent dans le modèle p> même pour résultatfieldComponent2 composant2. p> p>
Normalement, la forme est soutenue par une sorte de modèle de données - par exemple, un objet simple. Sur demande, mettez à jour la mise à jour de cet objet et vous avez terminé.
Communications entre les composants du soeur, par exemple: Stackoverflow.com/questions/35884451 / ...