IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

error TS2339: Property 'X' does not exist on type 'XXX[]'.


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut error TS2339: Property 'X' does not exist on type 'XXX[]'.
    Hello,

    J'ai un tableau nommé TRANS, et je veux juste récupérer la valeur de la variable qui se nomme SOLDE. Il y a un fichier JSON disponible ci-dessous:

    https://jsonblob.com/966692805254856704

    J'ai un message d'erreur qui est le suivant:

    error TS2339: Property 'TRANS' does not exist on type 'AdvTitres[]'.
    <td> {{details.TRANS.SOLDE }}</td>


    Voici comment est structuré le code:

    1) J'ai le fichier internal-transfert-watch.response.ts avec les différentes variables

    Code ANGULAR : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import { ApiResponse } from "src/shared/types/api.response";
     
     
     
    export interface InternalTransfertWatchResponse extends ApiResponse {
        TRANS: AdvTitres[];
      }
     
      export interface AdvTitres {
     
          TITRE: {
              LABEL: string,
              ISIN: string,
              SVM: number,
          },
          SOLDE: number,
          QTE_VENTE: number,
          QTE_BLOQ: number,
          QTE_TRF: number,
     
      }


    2) J'ai le fichier internal-transfert-watch.component.ts pour récupérer la valeur du solde

    Code ANGULAR : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    export class InternalTransfertWatchComponent implements OnInit, OnDestroy {
      private unsubscribe$ = new Subject<void>();
     
      details?: AdvTitres[] = [];
      svm: string | null = null;
     
      constructor(   
        private service: InternalTransfertWatchService,
        private activatedRoute: ActivatedRoute,
        private location: Location,
      ) { }
     
      ngOnInit(): void {
        this.svm = this.activatedRoute.snapshot.paramMap.get('svm');
     
        if (!this.svm) {
          this.goBack();
          return;
        }
        this.getDetails();
      }
     
      ngOnDestroy(): void {
        this.unsubscribe$.next();
        this.unsubscribe$.complete();
      }
     
      private getDetails(): void {
        this.service.getTransfert(this.svm!).pipe(
          takeUntil(this.unsubscribe$)
        ).subscribe(res => {
          if (res.RETURNCODE === ApiResponseCodeEnum.Ok) {
            this.details = res.TRANS;
          }
        });
      }
     
     
      goBack(): void {
        this.location.back();
      }
     
     
    }

    3) J'affiche la donnée dans le HTML internal-transfert-watch.component.html

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div class="container" *ngIf="details">
        <table class="table table-hover table-striped spaceLeft">
            <tbody>
     
                <tr>
                    <th>Solde</th>
                    <td> {{details.TRANS.SOLDE }}</td>
                </tr>
            </tbody>
        </table>
    </div>


    Je ne comprends pas pourquoi cette ligne pose problème?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td> {{details.TRANS.SOLDE }}</td>


    D'avance merci

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    je n'ai pas trop compris

    par exemple avec : http://localhost:4200/blog/2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a [routerLink]="['/blog', blog.id]">...............</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      constructor(private route: ActivatedRoute) { }
     
      ngOnInit() {
        this.route.paramMap.subscribe(params => {
          var id = params.get('id');
          console.log(id);
        });
      }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const routes: Routes = [
      {
          path: '',
          component: HomeComponent
      },
      {
        path: 'blog/:id',
        component: BlogComponent
      }
    ];

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Hello dukoid,

    Désolé, je viens de rectifier mon message, je pense que c'est plus clair maintenant?

    D'avance merci

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    internal-transfert-watch.component.html


    ça donne quoi ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Hello,

    Je récupère bien les données du JSON

    Voici une image ci dessous



    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="container" *ngIf="details">
        <table class="table table-hover table-striped spaceLeft">
            <tbody>
     
                <tr>
                    <th>Solde</th>
                    <!-- <td> {{details.TRANS.SOLDE }}</td> -->
                    <td>{{details|json}}</td>
                </tr>
            </tbody>
        </table>
    </div>

  6. #6
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    dans le json je ne vois pas de TRANS !
    pourquoi tu veux accéder à TRANS alors qu'il n'existe pas ?

    tu peux faire :
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{details.TITRE.STOCK}}
    ou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une valeur par rapport à une autre valeur
    Par alexiisme dans le forum Modélisation
    Réponses: 5
    Dernier message: 24/08/2007, 12h43
  2. Réponses: 6
    Dernier message: 14/02/2006, 20h53
  3. afficher une valeur par défault dans la combobox
    Par shadow31 dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2006, 17h25
  4. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  5. Afficher une fenetre par rapport a une autre
    Par luffy0013 dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2005, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo