Comment convertira mes nouvelles données d'objet que je récupère de Firebase au formulaire JSON comme je l'avais auparavant

StackOverflow https://stackoverflow.com//questions/25043005

Question

Je viens de configurer ma base de données Firebase, Angularfire avec mon application Yeoman, Angularjs.J'utilise au code difficile mes données avant de comme si

$scope.data = [
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    ...
    ...
    More Data...
    ...
    ...
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... }
]

Lorsque j'ai téléchargé les données ci-dessus dans ma base de données Firebase, je devais avoir une forme valide de données JSON, donc je l'ai converti sur cette

[
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    ...
    ...
]

qui est un format JSON valide.Maintenant, lorsque je console.log (Firebaseef), mes données sont extraites dans le formulaire ci-dessous.C'est exactement ce que je vois dans ma console Google Chrome.

Object {$bind: function, $add: function, $save: function, $set: function, $transaction: function…}
    0: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    1: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    2: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    ...
    ...
    ...More Data...
    ...
    ...

Comment convertiriez-vous mes nouvelles données d'objet que je récupère de Firebase dans le même formulaire que je l'avais auparavant?

Voici une image de la principale différence entre les deux.Les données de Firebase que je reçoivent semble être un objet avec plusieurs objets dedans et les données que je souhaites / utilisées avant d'être un tableau de plusieurs objets. image de deux données d'objet différents

Était-ce utile?

La solution

Selon cette URL: objet à tableau - conversion rapide

Vous devez attribuer l'objet Firebase à une variable:

$scope.firebaseObj

Et puis vous pouvez le transformer dans votre objet $ de portée.Data par:

$scope.data = [];
 for (var i = 0; i < $scope.firebaseObj.length; i++) {
      $scope.data[i]['name']= $scope.firebaseObj[i].name;
      $scope.data[i]['description']= $scope.firebaseObj[i].description;
      $scope.data[i]['type'] =  $scope.firebaseObj[i].type;
      $scope.data[i]['etc1'] =  $scope.firebaseObj[i].etc1;
      $scope.data[i]['etc12'] =  $scope.firebaseObj[i].etc2;
      .
      .
      . 
 }

Ceci ne fonctionnera que si chaque élément du JSON a les mêmes attributs

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top