/ / Kann ich neue Daten hinzufügen, wenn ich meine Daten als angularfire $ firebaseObject an meine Datenbank abrichte oder nur Daten ändere / lösche? - angularjs, Firebase, angularfire

Kann ich neue Daten hinzufügen, wenn ich meine Daten als angularfire $ firebaseObject an meine Datenbank abrichte oder nur Daten ändere / lösche? - angularjs, Firebase, angularfire

Ich lerne Angularfire und ich habe viel davonFragen, aber eine, die mich wirklich nervt, ist das Folgende. Ich habe auf vielen verschiedenen Seiten (einschließlich Firebase.com) gelesen, wie man Daten von einer Firebase abruft, und sie machen alle einen Unterschied zwischen der Rückgabe Ihrer Daten als Array ($ FirebaseArray) oder Objekt ($ FirebaseObject). Objekte eignen sich hervorragend für Three-Way-Binding, aber was ist, wenn ich meiner Datenbank neue Inhalte hinzufügen möchte?

EIN $firebaseArray hat ein $add Methode, aber a $firebaseObject doesn t. Also, was ist das Geschäft hier und wann zu verwenden $firebaseArray gegen $firebaseObject. Oder gibt es eine Methode zum Hinzufügen neuer Daten mit a $firebaseObject und sehe ich es einfach nicht?

Kann mir jemand ein bisschen Klarheit geben? Ich benutze angularfire 1.0.0. Danke im Voraus!

Antworten:

3 für die Antwort № 1

Wenn Sie vorhandene Objekte ändern möchten, verwenden Sie $firebaseObject, benutzen $firebaseArray um dem Array von Objekten neue Objekte hinzuzufügen,

Beispiel: Um alle Bestellungen von einem Kunden zu erhalten und dann eine bestimmte Bestellung zu erhalten

AM.value("DB_URL","https://myfirebase.firebaseio.com/");
AM.factory("DB", ["DB_URL",
function(DB_URL) {
var db = new Firebase(DB_URL);
return db;
}
]);
AM.factory("Orders", ["$firebaseArray", "DB","Auth","$firebaseObject","$log",
function($firebaseArray,DB,Auth,$firebaseObject,$log) {
$log.debug("Fetching Orders");
var authData = Auth.$getAuth();
var ordersRef = DB.child("users/" + authData.uid+"/orders/");
$log.debug("ordersRef = " + ordersRef);
var Orders = $firebaseArray(ordersRef);

return {
getOrders: function() {
return Orders;
},

getOrder: function(orderId) {
$log.debug("Order for id: " + orderId);
var orderRef = ordersRef.child(orderId);
$log.debug("orderRef = " + orderRef);
var Order = $firebaseObject(orderRef);
return Order;
}
};
}
]);