2017-10-18 2 views
0

J'ai eu un problème pour récupérer des données à partir de la base de données en temps réel sur la base de données Firebase. Tout est correctement défini, les autorisations de lecture et d'écriture sont publiques, donc je n'ai pas à m'authentifier.Angulaire ne tirant pas les données via Angularfire2

npm se compile avec succès. Donc le code est bon (Angular-CLI). J'ai essayé exactement ce qui est sur la page de GitHub en ce qui concerne la documentation.

Lorsque j'interpole l'extraction de données d'un objet, le retour sur le frontal est nul. Quand je fais la même chose pour une liste, le retour est vide. * ngFor ne fonctionne même pas.

Quelqu'un a le même problème ou pourrait vous aider?

Le code ressemble à ceci. C'est une copie directe de la documentation.

Ma base de données ne contient actuellement aucune étiquette qui indique "Items" selon db.list ('items'). Je ne pense pas que ce serait le problème, mais cela créerait-il un problème?

import { Component } from '@angular/core'; 
import { AngularFireDatabase } from  'angularfire2/database'; 
import { Observable } from 'rxjs/Observable'; 

@Component({ 
    selector: 'app-root', 
    template: ` 
    <ul> 
    <li *ngFor="let item of items | async"> 
    {{ item | json }} 
    </li> 
    </ul> 
    `, 
}) 
export class AppComponent { 
    items: Observable<any[]>; 
    constructor(db: AngularFireDatabase) { 
    this.items = db.list('items').valueChanges(); 
    } 
} 

Les données firebase a cette structure ..

[ 
{"THIS" : string , "THAT" : string}, 
{"THIS" : string , "THAT" : string} 
] 

C'est ce que le fichier ressemble avant de télécharger.

+0

pouvez-vous montrer à quoi ressemble votre structure json dans la console firebase? – ashley

+0

Peut-être que vous pourriez essayer avec un 'tableName' différent au lieu de' items' juste pour voir si vous obtenez des données. – John

+0

Le JSON ressemble à ceci. [{"something": chaîne, "someelse": chaîne}, {"something": chaîne, "someelse": chaîne}] .. J'ai téléchargé le fichier vers la base de données. –

Répondre

0

Je pense que vous avez oublié de créer la collection items.

Vous êtes abonné à la collection items ici:

this.items = db.list('items').valueChanges();

Essayez d'importer celui-ci et voir si vous obtenez des résultats:

{ 
    "items": [ 
    { 
     "THIS": "test", 
     "THAT": "test" 
    }, 
    { 
     "THIS": "test", 
     "THAT": "test" 
    } 
    ] 
} 

En firebase il semble comme:

enter image description here

+0

Bonjour tim. J'ai essayé cela mais la même chose se produit ... en fait c'est pire ... Maintenant l'objet html que j'exécute le ngFor ... disparaît totalement. –

+0

Pouvez-vous télécharger une capture d'écran de votre base de données Firebase? –

+0

Juste fait. J'espère que vous pourriez aider. Au-dessus de "0", le nom de la base de données est –