Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Firebase中的列表中删除/删除项目_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 从Firebase中的列表中删除/删除项目

Javascript 从Firebase中的列表中删除/删除项目,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我目前正在尝试使用Firebase从我的Javascript应用程序的列表中删除一个单独的项目,目前我遇到了很多困难。下面的代码只是它的一个非常简化的版本 var itemList = document.getElementById("itemList"); window.onload = function () { queryData(); } function queryData() { return databaseRef.on('child_added', functi

我目前正在尝试使用Firebase从我的Javascript应用程序的列表中删除一个单独的项目,目前我遇到了很多困难。下面的代码只是它的一个非常简化的版本

var itemList = document.getElementById("itemList");

window.onload = function () {
   queryData();
}

function queryData() {

   return databaseRef.on('child_added', function (snapshot) {

        itemList.innerHTML +=
            "<li>"
            + snapshot.child("title").val() + "&nbsp" +
            <!-- This is the code where I'm trying to delete -->
            "<a href='#itemList' onclick='deleteItem("+snapshot.key+")'>Delete</a>" +
            "</li><br/>";

    });

}

function deleteItem(itemToDelete) {
    //Just using console.log to make sure each key is being referenced
    console.log(itemToDelete);
}
其中,identifier只是一个从0开始并在for循环中循环通过每个项的变量。这在Firebase.js中触发了一个错误,我猜这是因为它试图异步执行此操作,所以我先将键存储在数组中,然后尝试使用appendChild()添加到数组中的每个项,但也返回了相同的错误。我看过这类应用在iOS、Angular和Android中构建的视频,但我似乎找不到任何本地javascript解决方案来让它工作,或者成功地适应其他语言的解决方案


我仍然是一个使用Javascript编码的业余爱好者,虽然我可以制作一个离线的列表应用程序,并且可以简单地添加/编辑/删除-对来自Firebase的数据进行同样的操作感觉非常混乱。任何帮助都将不胜感激

试试:
onclick='deleteItem(\''+snapshot.key+“\”)
--您没有将值用引号括起来。@MichaelBleigh效果很好,非常感谢!这让我快发疯了。
    snapshot.key.appendChild(identfier);