Film / ID / extern_ids? API_KEY = MYAPIKEY
{"ID": 335984, "IMDB_ID": "TT1856101", "bladerunner2049", "instagram_id": "bladerunnermovie", "twitter_id": "Blaaderunner"} P>
Voulez-vous afficher la valeur de tous les identifiants sociaux tels que Facebook, Insta et Twitter. Je ne sais pas ce qui ne va pas, je fais p>
composant: p> html p>
3 Réponses :
Votre essai d'utiliser premier exposent ngfor code> sur un objet.
ngfor code> ne peut que itération des tableaux sur des tableaux. Semble plus facile pour vous de les afficher directement dans l'interface utilisateur avec
extern_ids.facebook_id code> mais si vous voulez vraiment utiliser
ngfor code> pour les afficher en boucle sur votre objet, vous peut utiliser
objet.keys code> pour obtenir une matrice pour
ngfor code>
objet.keys code> à partir de votre composant. P>
<p *ngFor="let social of external_ids | keyvalue" class="text-primary">
{{social.value}}
</p>
Merci! En réalité, ID est un identifiant de film et des données JSON que je reçois ne semble pas avoir une valeur clé. J'ai essayé ci-dessus mais je ne suis toujours pas corrigé
Ceci est l'erreur: Error TypeError: impossible de convertir non défini ou null en objet sur MOVIECOMPONENT.KEYS [comme objetkeys]
On dirait que vous avez manqué quelque chose de ce que j'ai dit. J'ai testé cela sur Stackblitz. Sur quelle ligne obtenez-vous cette erreur et qu'est-ce que vous avez exactement sur cette ligne?
Erreur affiche sur ceci:
et Console dit "Impossible de déshabiller la propriété ID code> de" non défini "ou" NULLO " . "
Oui, ça a fonctionné! Merci beaucoup, je viens de supprimer un identifiant externe à partir du constructeur: "const {id, ... external_ids} = res.external_ids; remplacé par" const {id, ... external_ids} = res;
La dernière chose que je ne veux pas afficher le champ imdb_id?
Faites ce que const {id, imdb_id, ... external_ids} = res code>
Plus d'informations sur la déstructuration ici: développeur.mozilla.org/en -Us / Docs / Web / JavaScript / Référence / ...
@Rrrpandey - J'ai ajouté une autre méthode à itérer sur votre objet dans ma réponse. Ceci est probablement une méthode plus facile plutôt que d'utiliser objet.keys code>.
Vous devez convertir votre et N'oubliez pas de vous désabonner de votre abonnement fort>. Pour qu'il utilise l'une des options énumérées ci-dessous: p> TS: strong> p> html strong>:
Je préfère et recommander la deuxième cause forte> One 'Parce que vous pouvez utiliser un sujet pour tous vos abonnements et la terminer à la fois. Bonne chance! P> p> objet.Keys (external_ids) code> ou
(external_ids) code> en utilisant
{{Data $ | async | JSON}} CODE> P>
Si vous imprimez avec succès l'ID de Facebook sur cette ligne
import { Component, OnInit } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { ActivatedRoute } from '@angular/router'; import { MoviesService } from '../movies.service'; @Component({ selector: 'app-movie', templateUrl: './movie.component.html', styleUrls: ['./movie.component.css'] }) export class MovieComponent implements OnInit { movie: Object; external_ids: Array<Object>; constructor( private _moviesServices: MoviesService, private router: ActivatedRoute ) { } ngOnInit() { this.router.params.subscribe((params) => { const id = params['id']; this._moviesServices.getMovie(id).subscribe(movie => { this.movie = movie; }); this._moviesServices.getExternalIds(id).subscribe((res: any) => { console.log(res.facebook_id); this.external_ids = res; }); }) } }
Je vous remercie! J'ai essayé cela mais semble ne pas fonctionner "Impossible de trouver un objet de support différent" [Objet d'objet] "de type" objet ". NGFOR ne prend en charge que la liaison à des ittérious telles que les tableaux."
Dans cette ligne
console.log (res.facebook_id); code> Vous imprimez sur Facebook_ID lors de la ligne ci-dessous, vous enregistrez la variable de votre composant la propriété externe_ids du JSON
this.external_ids = Res .external_ids; code>. Est-ce correct?
Avez-vous essayé uniquement avec {{FACEBOOK_ID}} au lieu de {{social.facebook_id}}?
Je devrais faire
this.external_ids = res code> à l'intérieur de la 2e abonnement
@Lucaregazzi Oui extern_ids détient toutes les trois valeur sociale