答案 0 :(得分:0)
阅读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数据库获取数据。在每次对这些数据的反应时:创建新的表行,其中包含根据键和元素值构建的单元格。在下面的示例中,我使用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);