//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内容?
答案 0 :(得分:0)
您需要为firebase参考URL添加child_changed
事件。
以下是示例:
usersRef.on("child_changed", function(snapshot) {
document.getElementById("username").innerHTML = udata.name;
document.getElementById("username").style.backgroundColor=udata.color;
});