टीएल; डॉ; आपको अपने मामले के लिए MyRoom.on('value',
का उपयोग करना चाहिए।
आप आमतौर पर Firebase में डेटा के दो बुनियादी प्रकार की दुकान:
वस्तुओं
वस्तुओं आप आम तौर पर इस तरह की दुकान:
var MyRoom = new Firebase('your.firebaseio.com/someroom');
MyRoom.set({Name: 'This is my room', Owner: 'frank', Marker1:'bar'});
से आपको अवगत करवाने/एक वस्तु पैच चाहते हैं, आप कैसे आप इसे ऊपर करते हैं:
MyRoom.update({Marker1:'foo'});
इस विशिष्ट कक्ष हुए परिवर्तनों पर ध्यान करने के लिए, आप का उपयोग करें:
MyRoom.on('value', function(snapshot) {
var obj = snapshot.val();
alert(JSON.stringify(val)); // {Name: 'This is my room', Owner: 'frank', Marker1:'foo'}
alert(val.Marker1); // foo
});
यहाँ आप हमेशा मिलता है पूरी वस्तुएं, इसके बाद भी आप एक ही संपत्ति को अपडेट कर सकते हैं।
संग्रह
संग्रह वस्तुओं की सूचियां हैं। लेकिन संग्रह स्वयं भी ऑब्जेक्ट्स हैं, इसलिए आप on('value'
के साथ संग्रह की निगरानी कर सकते हैं। लेकिन इसका मतलब यह होगा कि आपको लगातार पूरे सरणी से निपटना होगा, जो अक्सर व्यावहारिक नहीं होता है।
आप आमतौर पर संग्रह में अलग-अलग प्रविष्टियों से निपटते हैं। फायरबेस में संग्रह के लिए जोड़/हटाना/अपडेट के लिए विशिष्ट घटनाएं होती हैं। तो नए आइटम एक संग्रह करने के लिए जोड़ रहे हैं कि के लिए सुनने के लिए, आप ऐसा करेंगे:
var MyRooms = new Firebase('your.firebaseio.com/rooms');
MyRooms.push({Name: 'This is my room', Owner: 'frank', Marker1:'bar'});
MyRooms.on('child_added', function(snapshot) {
alert(snapshot.val());
});
संग्रह वस्तुओं संग्रह वस्तुओं रहे हैं रहे हैं ...
आपका भ्रम तथ्य यह है कि आप मिश्रण कर रहे हैं की वजह से उपजी उपरोक्त से संग्रह तर्क और वस्तु तर्क। यद्यपि यह अक्सर आप जो चाहते हैं वह अक्सर नहीं होता है, यह पूरी तरह से वैध कोड है, यही कारण है कि यह निष्पादित करता है; न केवल परिणाम के साथ आप प्राप्त करने के लिए देख रहे थे।
आप कैसे उपयोग कर सकते हैं "एक संग्रह की तरह एक वस्तु का इलाज" का एक उदाहरण:
var MyRoom = new Firebase('your.firebaseio.com/someroom');
MyRoom.update({Marker2:'snafu'});
MyRooms.on('child_added', function(snapshot) {
// somebody added a property to MyRoom
});
जब आप "एक वस्तु की तरह एक संग्रह का इलाज" करना चाह सकते हैं का एक उदाहरण: https://stackoverflow.com/a/25551254/209103
यही तरीका बताया गया है स्नैपशॉट काम करता है। .val() मान देता है और यह अनिर्धारित लौटाता है जब तक कि इसमें मार्कर 1 नाम वाला कोई अन्य ऑब्जेक्ट न हो। आपके मामले में इसमें केवल 'foo' – webduvet