2016-03-23 21 views
2

Firebaseでは、次の問題が発生しています。FirebaseデータベースからWebサイトにデータを表示するにはどうすればいいですか?

myApp 
- myList 
    - KKJJXX...1  myString: "String One" 
    - KKJJXX...2  myString: "String Two" 
    - KKJJXX...3  myString: "String Three" 

私は上記のDB内のmyStringの値を一覧表示する(私のウェブページで)いくつかのJavaScriptを作りたい:私のデータは、このように構成されています。 ここで私はウェブを掘った後に思いついたものです。それはある点までは働くが、それほど重要ではない。 ブラウザのデバッグコンソールに、私が必要なデータがあることがわかります。私は、脚本の後で私の懸念をより正確に書いています。デバッグコンソールで

<script> 
var ref = new Firebase("https://myApp.firebaseio.com/myList/"); 

ref.on("value", function(snapshot) { 
    for (x in snapshot.val()) { 
     var xRef = new Firebase("https://myApp.firebaseio.com/myList/"+x+"/"); 
     xRef.once("value", function(xsnapshot) { 
      var name = xsnapshot.child("myString"); 
      console.log(name); 
     }); 
    } 
}, function (errorObject) { 
    console.log("The read failed: " + errorObject.code); 
}); 
</script> 

私はこのライン(3回)を取得:

Object { A: Object, Y: Object, g: Object } 

をそして私は、オブジェクトが、私は(のmyString)を探していた情報が含まれていることを見ることができます。 myStringの内容をコンソールに直接一覧表示するには、上記のスクリプトで何を変更する必要がありますか?

答えて

3

childに電話すると、データスナップショットではなく新しいFirebaseReferenceが届きます。 refのデータを取得するには.on('value')する必要がありますが、既にデータがあるためにばかげているでしょう。

代わりに、ローカル変数にスナップショットのデータを隠して操作するだけです。

ref.on("value", function(snapshot) { 
    for (x in snapshot.val()) { 
     var xRef = new Firebase("https://myApp.firebaseio.com/myList/"+x+"/"); 
     xRef.once("value", function(xsnapshot) { 
      var data = xsnapshot.val(); 
      var name = data["myString"]; 
      console.log(name); 
     }); 
    } 
}); 
+0

それでした!ありがとうございました。 – Michel

関連する問題