使用 jquery 从 Firebase 更新页面上的数据时遇到问题

Trouble updating data on page from Firebase with jquery

本文关键字:数据 遇到 问题 jquery Firebase 更新 使用      更新时间:2023-09-26
  //Display User in header
  usersRef.child(uid).on('value', function(name){
    var dName = (name.val().displayName);
    $("#userName").replaceWith("<li id=userName><span>Logged in as " + dName + "</span></li>");
    //Get the first Letter of the users name
    firstLetter = dName.charAt(0);
    //Display icon in header
      console.log("User Image Replaced");
      $("#userImage").replaceWith("<li id='userImage'>" + firstLetter + "</li>");
  });

上面的代码在我的网站的标题中成功创建了一个用户图标。 这是他们名字的第一个字母,背景是他们的"用户颜色"的颜色。 当他们的"用户颜色"发生变化时,我希望标题中的图标更新。

得到了好坏参半的结果,但通常它会在我第一次更改颜色时更新,我必须在页面上单击才能再次执行此操作。 但并非总是如此,有时它第一次不起作用,有时它会在前三次工作。

我是否以导致此问题的方式对其进行编码,还是Firebase问题?

您需要为 Firebase 参考网址添加child_changed事件。

下面是示例:

usersRef.on("child_changed", function(snapshot) {    
      document.getElementById("username").innerHTML = udata.name;
      document.getElementById("username").style.backgroundColor=udata.color;
});

样品小提琴:http://jsfiddle.net/learningloop/ha5wncmx/19/