Comment faire pour afficher l'objet json à l'aide de *ngFor
Je veux afficher les données en dessous de Firebase
{
"-KBN9O_qqz-nZ9tPWFdM":{
"createdAt":1456399292790,
"isActive":true,
"name":"Hero 1"
},
"-KBN9gjJw1ZlMgt9pVsl":{
"createdAt":1456399371220,
"isActive":true,
"name":"Hero 2"
},
"-KBN9hYI4vYAsyh5k1lX":{
"createdAt":1456399374548,
"isActive":true,
"name":"Hero 3"
}
}
lors angulaire.io Tour des Héros tutoriel par exemple
<li *ngFor="#hero of heroes">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
Sorte de héros id doit montrer par exemple -KBN9hYI4vYAsyh5k1lX
et le héros nom doit montrer par exemple hero 3
J'ai fait quelques recherches et venir à travers cette stackoverflow solution par @Thierry Templier l'accès de la clé et de la valeur de l'objet à l'aide de *ngFor
(1) Est-ce la bonne solution à mon problème?
(2) Est-il plus simple solution de ce problème, parce que je pense qu'il serait vraiment commun pour les développeurs utilisant Angular2 pour afficher ces données json.
- merci de voir stackoverflow.com/a/35540129/5043867
- Double Possible de accéder à la clé et la valeur de l'objet à l'aide de *ngFor
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour mettre en œuvre une coutume pipe pour ce faire.
ngFor
prend uniquement en charge les array et non à l'objet.Ce tuyau va ressembler à ça:
et de l'utiliser comme ça:
Voir cette question pour plus de détails:
Object.keys(value).forEach(key => { if (value.hasOwnProperty(key)) { keys = [...keys, { key, value: value[key] }]; } });
#
. Vous pouvez également ajouter un filtre de recherche avec<input [(ngModel)]="term">
et*ngFor="#entry of content | keys | filter:term"
. En outre, vous pouvez rechercher plusieurs propriétés aveckeys.push({key: 'key'+'value[key].prop', value: value[key]})
.Vous pouvez mettre les clés dans un tableau et ng-repeat les touches.
Cela semble simple pour moi.. Plus d'infos ici
Firebase id est appelé $.clé.
Aussi, # est maintenant changé de laisser.
Ce serait travailler pour vous: