如何使用javascript在html中将firebase数据显示为列表?

如何使用javascript在html中将firebase数据显示为列表?,javascript,firebase,Javascript,Firebase,我想做的是: 我正试图在firebase中为一个更大的应用程序构建一个评论系统 现在我要做的就是将页面上提交的字符串显示为列表 我改编自关于packt publishing的Livelinks教程,该教程允许提交链接/标题,然后显示为列表 我删除了链接部分,并尝试修改标题部分以供评论 发生了什么: 提交数据很好 问题在于显示数据 该页面将显示一个空白列表 它知道条目数,但不知道实际值 问题 我对它的工作原理的理解是有限的,所以我无法准确地描述我是如何尝试实现该规范的 我认为javasc

我想做的是:

  • 我正试图在firebase中为一个更大的应用程序构建一个评论系统
  • 现在我要做的就是将页面上提交的字符串显示为列表
  • 我改编自关于packt publishing的Livelinks教程,该教程允许提交链接/标题,然后显示为列表
  • 我删除了链接部分,并尝试修改标题部分以供评论
发生了什么:

  • 提交数据很好
  • 问题在于显示数据
  • 该页面将显示一个空白列表
  • 它知道条目数,但不知道实际值
问题

  • 我对它的工作原理的理解是有限的,所以我无法准确地描述我是如何尝试实现该规范的
  • 我认为javascript创建了一个数组,将firebase数据放入数组中,然后显示数组
  • 我想我可能缺少对Firebase密钥/id的引用,但我不确定如何做/将其放置在何处
  • 我所探索的每一个解决方案/途径似乎都会彻底破坏一切
  • 如何使用javascript获取firebase数据,然后将其显示为列表
(Firebase参考已更改为下面代码中的“fbname”)

任何帮助都将不胜感激

函数注释(fbname){
var firebase=new firebase(“https://“+fbname+”.firebaseio.com/”;
this.firebase=firebase;
var commentsRef=firebase.child('comments');
this.submitComment=函数(文本){
评论推送({
文本:文本
});
};
this.onCommentsChanged=函数(){};
注释引用('value',函数(快照){
var comments=snapshot.val();
var preparedComments=[];
for(注释中的var文本){
if(comments.hasOwnProperty(文本)){
preparedComments.push({
text:comments.text
})
}
}
本意见书(准备意见);
}.约束(这个);
};
$(文档).ready(函数(){
var ll=新注释('fbname');
$(“.comment表单”).submit(函数(事件){
event.preventDefault();
ll.submitComment($(this.find('input.comment text').val());
$(this.find)(“输入[type=text]”).val(“”.blur();
返回false;
});
ll.onCommentsChanged=函数(注释){
$(“.comments list”).empty();
comments.map(函数(comment){
var commentElement=“
  • 此代码可能有帮助:

    db.collection("comments").get().then(function(querySnapshot) {
        querySnapshot.forEach(function(doc) {
            // doc.data() is never undefined for query doc snapshots
            var string = JSON.stringify(doc.data())
            var parsed = JSON.parse(string)
            document.getElementById("yourcontainer").innerHTML += parsed.text + 
            '<br>'
        });
    });
    
    db.collection(“comments”).get().then(函数(querySnapshot){
    querySnapshot.forEach(函数(doc){
    //对于查询文档快照,doc.data()从来都不是未定义的
    var string=JSON.stringify(doc.data())
    var parsed=JSON.parse(字符串)
    document.getElementById(“yourcontainer”).innerHTML+=parsed.text+
    “
    ” }); });
    此代码可能有助于:

    db.collection("comments").get().then(function(querySnapshot) {
        querySnapshot.forEach(function(doc) {
            // doc.data() is never undefined for query doc snapshots
            var string = JSON.stringify(doc.data())
            var parsed = JSON.parse(string)
            document.getElementById("yourcontainer").innerHTML += parsed.text + 
            '<br>'
        });
    });
    
    db.collection(“comments”).get().then(函数(querySnapshot){
    querySnapshot.forEach(函数(doc){
    //对于查询文档快照,doc.data()从来都不是未定义的
    var string=JSON.stringify(doc.data())
    var parsed=JSON.parse(字符串)
    document.getElementById(“yourcontainer”).innerHTML+=parsed.text+
    “
    ” }); });
    尝试我的repo代码,它将帮助您使用AngularJS构建。如果您想在key位于变量中时访问属性,则应使用括号符号
    preparedComments.push({text:comments[text]})
    jcubic您能澄清一下这是什么意思吗?仅做此更改没有任何区别。谢谢!请尝试我的repo代码,它将帮助您使用AngularJS构建。如果您想在键位于变量中时访问属性,则应使用括号符号
    preparedComments.push({text:comments[text]})
    jcubic您能澄清一下这是什么意思吗?仅做此更改没有任何区别。谢谢!