Ich benutze AngularJS, um Werte in meiner Firebase-Datenbank unter einem bestimmten Elternbaum abzurufen. Ich möchte auch den Wert dieses Elternteils bekommen.Erhalte sowohl die Eltern- als auch die Kindwerte in der Firebase-Datenbank mit AngularJS
Meine Datenbankstruktur:
Bisher bekommt mein Code die Namen und PhotoUrl jedes tripID unter einer bestimmten Benutzer-ID. Aber ich möchte den TripID-Wert sowie den Namen und PhotoUrl erhalten. Das Problem besteht darin, dass der TripID-Wert nicht in der untergeordneten Struktur ist. Wie kann ich es abrufen?
Meine JS sieht wie folgt aus:
var app = angular.module('test', []);
app.controller('MainCtrl', function($scope) {
var database = firebase.database();
database.ref(`trips/${userid}/trips`).once('value')
.then(photosSnap => {
var photosObj = photosSnap.val();
var tripName = Object.keys(photosObj).map(key => photosObj[key].name);
var tripPhotoUrl = Object.keys(photosObj).map(key => photosObj[key].photourl);
$scope.repeatData = tripName.map(function (value, index) {
return {
data: value,
value: tripPhotoUrl[index]
}
});
Danke für die Antwort. In meinem zweiten Codefragment mit Object.keys() werden meine Werte in tripKey, tripName und tripPhotoUrl gespeichert? Weil ich in meinem obigen Code im html ng-repeat = "data in repeatData" gesetzt habe und ich {{data.data}} und {{data.value}} benutzt habe, um die Ausgabe anzuzeigen. – marcvander
Ich benutzte mehr beschreibende Namen in meinem Code in der Hoffnung, es wäre klarer. Sie würden '{{data.tripKey}}' in Ihrem Code verwenden, um den Trip-Schlüssel, '{{data.tripName}}' für den Namen der Reise und '{{data.tripPhotoUrl}}' für das Foto der Reise zu erhalten URL –
Das ist, was ich dachte, obwohl wenn ich dies in meinem HTML-Code einfügen, nichts zeigt, wenn ich den Code ausführen.