मैं Angularfire सीख रहा हूं और मेरे पास बहुत कुछ हैसवाल, लेकिन एक है कि वास्तव में मुझे गुस्सा दिलाना है निम्नलिखित है। मैंने कई अलग-अलग साइटों (Firebase.com सहित) पर पढ़ा है कि कैसे एक फायरबेस से डेटा पुनर्प्राप्त किया जाए और वे सभी को आपके डेटा को एक सरणी ($ firebaseArray) या ऑब्जेक्ट ($ $bbaseObject) के रूप में वापस देने के बीच अंतर करते हैं। ऑब्जेक्ट तीन-तरफ़ा बाइंडिंग के लिए बहुत अच्छे हैं, लेकिन क्या होगा अगर मैं अपने डेटाबेस में नया सामान जोड़ना चाहता हूं?
ए $firebaseArray
एक $add
विधि, लेकिन ए $firebaseObject
doesn "t। तो यहाँ क्या सौदा है और कब उपयोग करना है $firebaseArray
बनाम $firebaseObject
। या एक नया डेटा जोड़ने की विधि है $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;
}
};
}
]);