0
votes

Abonnez-vous au modèle d'enfant Changement de parent en angulaire

Dans mon composant enfant, j'ai une liste de Timezones Code> avoir un modèle sélectionnéTezone (modèle) code>. J'ai besoin de diffuser le sélectionnée de sélectionnerzone code> de la liste des abonnés.

EnfantComponent: P>

export class TimeZoneComponent implements OnInit {

  public timezones: ITimeZone[] = [];
  public SelectedTimeZone: ITimeZone;
  public SelectedTimeZone$ = new Observable<ITimeZone>();

  constructor(private timezoneService: TimeZoneService) {
  //i'm not sure what to do next since i already declare an Observable<ITimezone>();
  }

}


2 commentaires

RTFD


Vous recherchez @outPut décorateur


3 Réponses :


0
votes

Vous devez créer un service dans lequel vous allez déclarer votre comportemortosubject comme xxx

une fois que votre fuseau horaire est modifié de ce composant, vous devez déclencher l'événement comme xxx

où vous souhaitez que la valeur TimeZone mise à jour, vous devez vous abonner à cet événement comme xxx


6 commentaires

Ce n'est pas une meilleure approche pour l'enfant à la communication des parents comme angulaire déjà fourni @output décorateur à cette fin


@Mustahsan: Voir ce que OP a demandé il veut "diffuser ma modification à la liste des abonnés" "


Oui à l'aide de @OutPut, il peut émettre tout événement et parent sera averti à ce sujet dans sa méthode


@ Mustahsan Et si j'ai le fuseau horaire dans mon composant d'en-tête et que mon composant parent ne sait rien à l'en-tête parce que c'est une route distincte


Les composants des parents doivent savoir sur les enfants, ce que vous avez dit est suggéré dans des cas où il n'y a pas de relation parent-enfant


@Mustahsan: Oui définitivement, il n'y a pas de relation parent-enfant ici, car tout fuseau horaire d'application sera sélectionné une fois et il sera appliqué à tout le composant.




1
votes

Utilisez un émetteur d'événement chez l'enfant et obtenez la sortie à l'intérieur du parent composant (s).

enfantComponent.ts

sur le changement de fuseau horaire changeant, déclencher une fonction pour émettre une sortie. xxx

parentcomponent .html

Liez la sortie d'événement enfant à une fonction de composant parent. xxx

parentcomponent.ts

fonction à déclencher sur la détection de sortie d'événement. xxx


0 commentaires