我想在 Firebase 中动态创建五个新目录。我也想动态地在这些目录中插入数据。我为此目的编写了这个 jquery 脚本。
for(var i=0; i<5; i++) {
var dataRef = new Firebase('https://blr-reaction-buttons.firebaseio.com/' + i);
dataRef.on('value', function (snapshot) {
var tempdata = snapshot.val();
if (!tempdata) {
tempdata=50;
dataRef.set(tempdata);
}
});
}
但它没有创建多个目录,而是只创建一个目录(实际上是最后一个目录)(下图)...
我只是不明白为什么会发生这种情况。请帮忙。任何形式的帮助将不胜感激。提前致谢。
Firebase 并没有真正的目录,而是一切都是 JavaScript 对象。这意味着最接近目录的是包含另一个对象的键:)
In other words, I'm assuming you want to see something like this in Forge:
要使您的 Firebase 看起来像这样,您可以在本地创建一个 JavaScript 对象并将其保存到根节点,使用set
。然后您可以使用读取回调value
聆听变化。这是实现此功能的代码:
<html>
<head>
<script src='https://cdn.firebase.com/js/client/1.0.15/firebase.js'></script>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'>
</script>
</head>
<body>
<script>
/* Write 5 numbered objects, each set to 50 */
// Create a new Firebase data reference to the root
var dataRef =
new Firebase('https://test-firebase-please-ignore.firebaseio.com/');
// Create a JavaScript object to hold stuff
var tempData = {};
// Add 5 things to it
for(var i=0; i<5; i++) {
tempData[i] = {value: 50};
}
// Save it to Firebase
dataRef.set(tempData);
/* Meanwhile, create a listener that gets updates when the data changes */
dataRef.on('value', function(snapshot) {
// Log the whole thing
console.log(snapshot.val());
});
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)