Учах Angularfire и имам многовъпроси, но това, което наистина ме подслушва, е следното. Прочетох много различни сайтове (включително Firebase.com) за това как да изтегля данни от firebase и те правят всичко различно между връщането на данните ви като масив ($ firebaseArray) или обект ($ firebaseObject). Обектите са чудесни за трипосочно обвързване, но какво, ако искам да добавя нови неща към моята база данни?
А $firebaseArray
има $add
метод, но а $firebaseObject
не е така. Каква е сделката тук и кога да я използвам $firebaseArray
срещу. $firebaseObject
, Или има ли метод за добавяне на нови данни с a $firebaseObject
и аз просто не го виждам?
Може ли някой да ми даде малко яснота. Аз съм с angularfire 1.0.0. Благодаря предварително!
Отговори:
3 за отговор № 1Когато искате да промените съществуващи обекти, използвайте $firebaseObject
, употреба $firebaseArray
да добавите нови обекти към масив от обекти,
Пример: За да получите всички поръчки от клиент и след това да получите определена поръчка
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;
}
};
}
]);