0
votes

Angulaire 7 RXJS INTERFACE NETHED Comment prendre uniquement le tableau imbriqué?

J'ai cette interface avec une matrice imbriquée à l'intérieur: xxx pré>

L'interface client est comme ceci: p> xxx pré>

J'ai ce http get Méthode sur Service: P>

  ngOnInit() {
     this.AlvosService.getContas(this.identific, this.search)
       .subscribe((response) => { console.log(response)} ),
        (error) => { console.log(error); };

  }


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser un tuyaux et valeurs imbriquées xxx

Remarque: vous ne pouvez pas utiliser de variables commençant par Lettres majuscules, comme dans alvosservice , c'est une mauvaise pratique


9 commentaires

J'ai déjà essayé cela, mais une fois que j'ai référé comptes.data, je reçois cette erreur: la propriété 'Data' n'existe pas sur le type 'iacCounts []


Je suis désolé appuyé sur l'entrée à bientôt: les «données» de la propriété n'existent pas sur le type 'IACCOUTS []


@Heberpaesfomin désolé, mon mauvais, j'ai corrigé ma réponse, devrait travailler maintenant


J'espère que vous ne vous inquiétez pas avec mon ignorance, mais vous avez commencé avec cela. Cela signifie que je dois mettre votre code suggéré sur souscrire après la cession de cela.entre?


La façon dont vous avez suggérée avant, l'erreur n'apparaît que lors du processus de compilation, mais sur la console de Chrome ne montre que ce dont j'ai besoin, outre l'erreur.


@HEBERPAESFOMIN C'était la variable que j'ai utilisée pour tester votre code (: cela fonctionne de la même manière. Retour de toute façon.


En plus de cette solution, vous devez avoir modifié la méthode GetContas. Comme le code de courant indique que la réponse doit être convertie en iaccounts [] qui n'est pas vrai. Changez-le à {Data: iacCounts []} au moins et ce sera ok et votre code fonctionnera sans problèmes. Mais toujours, la bonne façon serait de créer une interface qui est vraiment renvoyée de la réponse du backend et de la mise en forme de cette interface


Avec cette façon, j'ai reçu cette erreur: erreur typeError: comptes.map n'est pas une fonction. À propos du dernier commentaire que vous avez fabriqué, parfois, j'aurai besoin d'obtenir des iaccounts entiers [], par exemple lorsque j'ai besoin de paginer. Les données sur le terrain: d'interface ne sont pas liées à des IACCOUTS, mais sont liées à l'interface Ipustomer (regardent l'exemple ci-dessus). Je veux juste prendre les données: ICUSTOMER sur une variable, pour tirer uniquement l'éventail de clients.


@HEBERPAESFOMIN À propos de l'erreur, pouvez-vous télécharger un échantillon sur Stackblitz? À propos de la pagination, je ne suis pas sûr que voulez-vous dire. Avez-vous besoin de plusieurs tableaux de clients ou une fusion de tous?



0
votes

Essayez ceci: xxx

puisque votre appel http renvoie un tableau de iaccounts , vous aurez besoin aplatiré le tableau , mappe les données et zip dans une matrice à nouveau.


2 commentaires

Avec cette façon, j'ai reçu cette erreur: Error TypeError: Vous avez fourni un objet invalide dans lequel un flux était attendu. Vous pouvez fournir une matrice observable, prometteuse, ou iTable.


Semble poisson. Essayez avec mergemap ((comptes => de (comptes))



0
votes

J'ai figuré quelle était l'erreur. Si vous regardez la réponse ci-dessus, vous verrez que l'objet de réponse n'était pas un tableau. Le problème était les crochets sur la méthode d'obtenir. Au lieu de devrait être seulement. Ainsi, modifié la méthode comme ceci: xxx

Ça fonctionne! merci beaucoup pour votre aide.


2 commentaires

Je suis d'abord heureux que vous l'avez compris (: Deuxièmement, corrigez-moi si je me trompe, l'erreur n'a rien à voir avec votre première question. La question était de savoir comment obtenir une matrice imbriquée et la réponse était correcte. L'interface de type TYPO est un problème différent. Appeler une fonction "getContacts" qui renvoie un seul contact est vraiment étrange.


Tu n'as pas tort. Votre première réponse était parfaite. J'ai utilisé ça. Mais comme je l'ai dit, était une erreur de compiler parce que le type était faux. Merci beaucoup pour votre aide. Les getContacts ne reçoivent pas de contact unique, mais l'API envoie la collecte de données avec des informations de paginate. Je reçois donc un objet uniquement avec un tableau à l'intérieur avec des données.