2016-07-12 3 views

Antwort

1

Ich denke, man den vorherigen Wert eines Knotens abgerufen werden soll, wenn sie sich ändert.

Firebase bietet Ihnen hierfür keine Lösung, Sie sollten den vorherigen Wert irgendwo speichern.

Meine Lösung wäre, den vorherigen Wert auf dem Kind eines Knotens zu speichern. Sie können es auf diese Weise tun:

1) Wenn Sie Update wollen Wert:

var new_name = "Sonich" 
FireBaseRef.once('value', function(snapshot) { 
    var prev_name= snapshot.val(); // Sonta 
    FireBaseRef.set({ 
    "value": new_name, 
    "prev_value": prev_name 
    }) 
}); 

2) Damit Sie den Wert abrufen kann, auf diese Weise:

FireBaseRef.on('value', function(snapshot) { 
    snapshot = snapshot.val() 
    var previous_name= snapshot.prev_value;//Sonich 
    var new_name = snapshot.value; //Sonita 
}); 
+0

Bitte verwenden Sie die Priorität nicht mehr. Während es immer noch eine unterstützte Funktion ist, gibt es heutzutage bessere Möglichkeiten, Dinge zu erreichen. Es ist genauso einfach, ein benanntes Kind zu erstellen, was die Lesbarkeit und Wartbarkeit verbessert. –

+0

Oh, danke @Puf für den Rat. Ich habe Priorität verwendet, um viele verschiedene Metadaten zu speichern, wird es in Zukunft entfernt werden? –

+1

Das scheint im Moment unwahrscheinlich. Aber wir würden eher sehen, dass die Entwickler davon ablenken, neue Anwendungsfälle dafür zu finden. :-) –

Verwandte Themen