Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un composant DisplayComponent

17 octobre 2020 à 18:28:33

On me demande de créer un composant Angular nommé DisplayComponent et
ayant display-component pour sélecteur.
il doit utiliser le composant VoterComponent(sélecteur=voter-component) dont le code est fourni.
DisplayComponent a 3 champs public nommés question,yesAnswer et noAnswer.
ils représentent une question posée à
l'utilisateur et les choix de réponses possibles affichés dans VoterComponent
DisplayComponent doit utiliser VoterComponent en tant qu'enfant et doit lui passer
question,yesAnswer et noAnswer en entrée.
Quand l'utilisateur vote,VoterComponent créé un événement de type boolean vers un @Output 
nommé output.
Je dois afficher le résultat du vote dans DisplayComponent dans un <div> avec id=lastVote:Si output 
est vrai,alors on affiche yesAnswer,sinon on affiche noAnswer.
Voici le code:
import{Component,Input,NgModule,Output,EventEmitter } from '@angular/core';

@component({
       selector:'display-component',
       template:'

      '

})

export class DisplayComponent {
    public question="Too easy?"
    public yesAnswer="Yes";
    public noAnswer="no";
  }

// ne pas changer
@component({
    selector:'voter-component',
    template:
    {{question}}
 <button (click)="vote(true)">{{yesAnswer}}</button>
 <button (click)="vote(false)">{{noAnswer}}</button>

})

export class VoterComponent {

 @Input()
  public question:string;

 @Input()
  public yesAnswer:string;

 @Input()
  public noAnswer:string;

@Output()
 public output=new EventEmitter<boolean>();

 public vote(vote: boolean):void {

    this.output.emit(vote);
    }

}
J'ai cherché pendant un moment et je ne sais pas comment compléter ce code là,
mais j'ai essayé quelque chose et j'ai commencé ainsi ,voici le code que je propose:
import{Component,Input,NgModule,Output,EventEmitter } from '@angular/core';

@component({
       selector:'display-component',
       template:'<div id=lastVote>                 
       <h1 *ngIf="output">{{ }}</h1>         
                                                                 

      '

})

export class DisplayComponent {
    public question="Too easy?"
    public yesAnswer="Yes";
    public noAnswer="no";
  }
mais je ne sais pas comment
traduire les phrases suivantes en Angular2+:"
DisplayComponent doit utiliser VoterComponent en tant qu'enfant et doit lui passer
question,yesAnswer et noAnswer en entrée.
Quand l'utilisateur vote,VoterComponent créé un événement de type boolean vers un @Output
nommé output.
Je dois afficher le résultat du vote dans DisplayComponent dans un <div> avec id=lastVote:Si output 
est vrai,alors on affiche yesAnswer,sinon on affiche noAnswer."
Avez vous une idée svp?
  • Partager sur Facebook
  • Partager sur Twitter

b.o

21 février 2023 à 10:11:24

import{Component,Input,NgModule,Output,EventEmitter } from '@angular/core';
@Component({
selector:'display-component',
template:'<voter-component [question]="question" [yesAnswer]="yesAnswer" [noAnswer]="noAnswer"
(output)='displayResponse($event)'>
</voter-component>
<div id=lastVote>
<h1>{{ response }}</h1>
</div>'
})
export class DisplayComponent {
public question="Too easy?"
public yesAnswer="Yes";
public noAnswer="no";

response:string= "";
displayResponse(response:string){
if(response)
this.response = this.yesAnswer;
 else
this.response = this.noAnswer;
}

}

-
Edité par MohamedBouhamed6 21 février 2023 à 10:53:49

  • Partager sur Facebook
  • Partager sur Twitter
21 février 2023 à 10:59:31

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)