Firebase, can't listen on child's ref() - JavaScript

时间:2016-10-09 15:50:51

标签: javascript firebase firebase-realtime-database

I just started to use Firebase with JavaScript, I've read the doc on Firebase's site, but it talks just about the immediate reference of a node which invokes on('child_added',function(){}).

I'm trying to find a particular node to listen for. But it seems that it can't invoke the handler startListening when data is changed.

Here is my code

            var myFire = new Firebase('https://myProject.firebaseio.com/chat');
            var myConversation = "notAssigned"; 
            myFire.once("value", function(snapshot) {
                        snapshot.forEach(function(childSnapshot) {
                         childSnapshot.forEach(function(i){
                            var user = i.val();
                            if (user == "10") myConversation = childSnapshot.child("messages").ref();
                            });
                        });
                });
            var textInput = document.querySelector('#text');
            var postButton = document.querySelector('#post');

              postButton.addEventListener("click", function() {
              var msgUser = "10";
              var msgText = textInput.value;
              var date = js_dd_mm_yyyy_hh_mm_ss (); //function that returns actual date
              myConversation.push({content:msgText,date:date, status:"1", type:"text", user:msgUser});
                textInput.value = "";
            });


            /** Function to add a data listener **/
        alert (myConversation.key());
        var startListening = function() {
                myConversation.on('child_added', function(snapshot) {
                        alert("here i am");
                        alert (snapshot.content);
              });
            }

            // Begin listening for data
            startListening();

I think that I fail to manage references, although when I invoke push data is actually loaded, that is, when I look at Database in Firebase's console, the push method has successful pushed new node.

0 个答案:

没有答案