dans mon parent j'ai un {{titre}} et un {{sous-titre}}} qui devrait changer lorsque mes enfants changent (les enfants devraient donner son titre et sous-titre au parent), mes enfants sont rendus à l'intérieur du routeur, là-bas Sera divers composants d'enfants qui donnent un titre unique et un sous-titre! J'ai essayé diverses approches mais aucune ne me donne une solution positive, Merci d'avance. Parent HTML:
export class ChildrenComponent implements OnInit { data: titular = { title: 'childrens title', subtitle: 'children subtitle' }
3 Réponses :
vérifier le lien. Ils ont une explication complète. ici p>
Oui j'ai essayé ceux-ci, mais aucun ne travaille pour mon cas
Utilisez EventMitter pour partager les données
dans le fichier de composant enfant. p> dans le fichier parent .html p> dans le fichier parent .TS p>
Cela ne fonctionne pas en raison de moi rendre enfant dans la sortie de route, je n'utilise pas de sélecteur
Si vous n'utilisez pas l'enfant comme sélecteur, vous devez prendre un service commun entre parent et enfant.
commun.service.ts p> enfant.commonent .TS p> parent.component.ts p> 2 p > commonService.data.pipe(
delay(0),
tap((data) => {
this.title = data.title;
this.subTitle = data.subTitle;
})
).subscribe();
On dirait que cela fonctionne, mais cela me procure cette erreur, erreur: ExpresshangeDafterithasbeencheckederror> expression a changé après sa vérification.
Trouvez la réponse modifiée pour résoudre est une erreur. Même cette erreur ne viendra pas lorsque vous construisez et déployez votre code. Si vous voulez que vous puissiez ignorer cette erreur.
Je pense que je fais quelque chose de mal, parfois mon application reçoit les variables avec les données que je passe de mes enfants, mais mon HTML ne le reflète pas. Ceci pourrait être lié à cette erreur.
Aucun affichage dans HTML n'est lié à cette erreur.
J'ai essayé d'utiliser un tuyau et le titre et le sous-titre de mon parent avez déjà les données, mais cela ne le montre pas, aucune idée de quoi?
Pouvez-vous s'il vous plaît partager votre code dans Stackblitz afin que je puisse vous aider.
Stackblitz.com/edit/ Angular-Ivy-C2SX9O? Embed = 1 & File = SRC / App / ... Est-ce que cela fonctionne? Je n'ai jamais utilisé Stackblitz, désolé
Stackblitz.com/edit/angular-ivy-wequzu Veuillez trouver la solution dans la donnée relier.
J'espère que vous obtenez la solution. S'il vous plaît laissez-moi savoir pour autre chose. Merci
Merci beaucoup!, Que Stackblitz répondit frapper l'endroit.
Montrez-nous du code
Utilisez un émetteur d'événement.