2017-05-25 153 views
0

我試圖實施火力點到我的陣營原生應用與下面的代碼:陣營本地火力地堡DataSnapshot

import * as firebase from 'firebase' 
var fireBaseconfig = { 
apiKey: "MY KEY", 
authDomain: "MY DOMAIN", 
databaseURL: "MY URL", 
storageBucket: "MY BUCKET", 
}; 
var firebaseApp = firebase.initializeApp(fireBaseconfig); 
var rootRef = firebase.database().ref; 
var query = rootRef.ref("items"); 
query.once("value") 
    .then(function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 
    var key = childSnapshot.key; 
    var childData = childSnapshot.val(); 
    }); 
}); 

我收到錯誤:「未定義是不是(評估「rootRef.ref功能( 「項目」)「)

我跟了幾個教程包括官方文件和一直沒能找到解決這個。我使用正確的語法陣營本土?

回答

0

firebase.database().refref是一個函數應該是ref()

由於返回Reference,您必須撥打child()才能找到孩子。

所以:

import * as firebase from 'firebase' 
var fireBaseconfig = { 
apiKey: "MY KEY", 
authDomain: "MY DOMAIN", 
databaseURL: "MY URL", 
storageBucket: "MY BUCKET", 
}; 
var firebaseApp = firebase.initializeApp(fireBaseconfig); 
var rootRef = firebase.database().ref(); 
var ref = rootRef.child("items"); 
ref.once("value").then(function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 
    var key = childSnapshot.key; 
    var childData = childSnapshot.val(); 
    }); 
}); 

我也改名爲query變量,因爲它實際上不是一個查詢,但只是一個參考,以一個孩子的位置。

+0

完美,工作。謝謝! –

+0

現在,如果我想抓取快照中的值(例如childData.id),語法是否是ref.childData?我似乎無法自己抓住childData。 –