我有两个按钮,分别向 HomeScore
变量和 GuestScore
变量添加一个。我让每个按钮控制它们各自的数据库条目,但每当我按下主得分按钮时,它都会删除数据库中的客人得分条目。
反过来也是这样;每当我按下访客得分按钮时,它就会删除主得分值。
最佳答案
马特, 您正在为主场和客场分数更新相同的引用。看看下面两行:
var homeScoreRef = firebase.database().ref("scores/");
var guestScoreRef = firebase.database().ref("scores/");
这些引用完全相同。如果设置其中一个,然后设置另一个,第一个将被覆盖。
在下面的代码中,您将这些引用设置为它们各自的值,但是请记住,由于您使引用指向了完全相同的数据库部分,所以您只是用按下的按钮覆盖了您的值。
homeScoreRef.set({
home: HomeScore
});
和:
guestScoreRef.set({
guest: GuestScore
});
尝试这样的事情:
var homeScoreRef = firebase.database().ref("scores/home/");
var guestScoreRef = firebase.database().ref("scores/guest/");
或者您可以这样做:
var homeScoreRef = firebase.database().ref("scores/").child("home");
var guestScoreRef = firebase.database().ref("scores/").child("guest");
更新:
更改引用后,将 set()
调用更改为如下所示:
homeScoreRef.set(
HomeScore
);
guestScoreRef.set(
GuestScore
);
这应该会删除您的引用中多余的/home 和/guest。
另外,当你说 homeScoreValueRef.on
时,你从哪里得到这个?这个引用是在哪里创建的?因为我认为您打算执行 homeScoreRef.on
,对吗?我认为这就是您收到 NaN
错误的原因。
如果您的代码多于您在 Pastebin 中显示的代码,请确保更新它以引用正确的引用,但总的来说,我认为这是您的错误。
关于javascript - 两个按钮删除对方的设置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39813074/