获取数据
读取 firebase 数据库 documentation 和 references。
基本的 firebase 读取操作如下所示:
var ref = firebase.database().ref("location");
ref.once("value")
.then(function(snapshot) {
var key = snapshot.key;
var value = snapshot.val();
console.log(key + ": " + value);
});
当然你必须在之前为firebase and firebase database添加脚本。
如果你想循环一个数据你可以使用forEach函数,例如:
var query = firebase.database().ref("location2");
query.once("value").then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key;
var value = childSnapshot.val();
console.log(key + ": " + value);
});
});
表格
您可以使用 JS 动态创建表格 - 像 createElement 和 createDocumentFragment 这样的函数
例如:
var fragment = document.createDocumentFragment();
var animalsArray = ["Elephant", "Dog", "Cat"];
var table = document.createElement("table");
for (var i = 0; i < animalsArray.length; i++) {
var tr = document.createElement("tr");
var td = document.createElement("td");
td.textContent = animalsArray[i];
tr.appendChild(td);
table.appendChild(tr);
}
fragment.appendChild(table);
document.body.appendChild(fragment);
根据 Firebase 数据库中的数据构建的表
现在将上面的概念连接在一起。创建一个表。从 firebase 数据库中获取数据。在每次对这些数据进行迭代时:使用由元素的键和值构建的单元格创建新的表格行。在下面的示例中,我使用 for 循环不为每个单元格重复相同的操作。
完整示例:
Firebase 数据库中的数据树:
{
"location2" : {
"hello" : "world",
"hi" : "Mark"
}
}
代码:
var fragment = document.createDocumentFragment();
var table = document.createElement("table");
var query = firebase.database().ref("location2");
query.once("value").then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var tr = document.createElement("tr");
var trValues = [childSnapshot.key, childSnapshot.val()];
for (var i = 0; i < trValues.length; i++) {
var td = document.createElement("td");
td.textContent = trValues[i];
tr.appendChild(td);
}
table.appendChild(tr);
});
});
fragment.appendChild(table);
document.body.appendChild(fragment);