Matt, Вы обновляете ту же ссылку для домашних и гостевых счетов. Взгляните на следующие две строки:
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");
Update:
После изменения ссылки, а затем изменить set()
вызов выглядеть следующим образом:
homeScoreRef.set(
HomeScore
);
guestScoreRef.set(
GuestScore
);
Это должно избавиться от дополнительного/дома и/гостя в ваших ссылках.
Кроме того, когда вы говорите homeScoreValueRef.on
, где вы это понимаете? Где эта ссылка создается? Потому что я думаю, что вы хотели сделать homeScoreRef.on
, правильно? Я думаю, именно поэтому вы получаете ошибку NaN
.
Если у вас есть больше кода, чем показано в вашем Pastebin, убедитесь, что вы обновили его, чтобы ссылаться на соответствующие ссылки, но в целом, я считаю, что это ваша ошибка.
Хм .. Я не уверен, как обращаться с кнопками, потому что кнопки указывали на дом и гостя, хотя их ссылка была оценкой. Вот консольная ошибка: «Неиспользуемая ошибка: сбой Firebase.set: первый аргумент содержит NaN в свойстве« scores.home.home ». Он идет на счет/home/home –
. В вашем коде ваш слушатель говорит« homeScoreValueRef.on », но где этот homeScoreValueRef объявляется? – Ryan
Кроме того, я просто хочу убедиться, что я понимаю, что вы делаете. Таким образом, у вас есть две кнопки, и когда вы нажимаете кнопку HomeScore, вы хотите, чтобы база данных добавляла «1» к значению в/scores/home, и когда вы нажимаете кнопку GuestScore, вы хотите, чтобы база данных добавляла «1» к значение в/баллы/гости. Это верно? – Ryan