Я пытаюсь использовать Session.get() и Session.set(), чтобы проверить, нажал ли пользователь кнопку. В случае, если этот код реализован, чтобы проверить, установлен ли сеанс.Метеор не сохраняет значение сеанса
"click .alt": function(event,template){
if (Session.get("selected") === false){
var clicked = event.currentTarget;
clicked.className += " chosen";
var data = clicked.dataset;
console.log(data);
Session.set("selected", true);
if (data.corr == true){
console.log("Hi");
}
else{
console.log("Not Hi");
}
}
else{
console.log("session was set to true");
}
}
consol.log (данные) всегда выводится на печать, но «Привет» новее распечатывается, даже если data.corr = верно. По какой-то причине мне неизвестно, что это не работает. Надеюсь, кто-то может мне помочь.
Update Это wount работа:
if (Session.get("selected") == false){
Session.set("selected", true);
var clicked = event.currentTarget;
if (clicked.dataset.corr == true){
//Recording the time and calculating some points
time = new Date;
time = time.getTime();
time = 3000-Math.floor((time -Session.get("startedTime"))/10);
gameCol.insert({team:Session.get("teamnr"), points: time});
console.log("Correct answer");
}
else{
//0 points for wrong answer
gameCol.insert({team:Session.get("teamnr"), points: 0});
console.log("Wrong answer");
}
}
else{
console.log("You have answered");
}
Это работает:
if (Session.get("selected") == false){
Session.set("selected", true);
var clicked = event.currentTarget;
if (clicked.dataset.corr == true){
//Recording the time and calculating some points
time = new Date;
time = time.getTime();
time = 3000-Math.floor((time -Session.get("startedTime"))/10);
gameCol.insert({team:Session.get("teamnr"), points: time});
console.log("Correct answer");
}
else{
//0 points for wrong answer
//gameCol.insert({team:Session.get("teamnr"), points: 0});
console.log("Wrong answer");
}
}
else{
console.log("You have answered");
}
Единственное отличие состоит в том, что строка для вставки неправильного ответа в БД удаление. См. Строку //gameCol.insert({team:Session.get("teamnr "), points: 0});
Upadate 1,1 Изменение, если/еще до двух, если вместо этого работает
if (clicked.dataset.corr == true){
//Recording the time and calculating some points
time = new Date;
time = time.getTime();
time = 3000-Math.floor((time -Session.get("startedTime"))/10);
gameCol.insert({team:Session.get("teamnr"), points: time});
console.log("Correct answer");
}
if(clicked.dataset.corr == false){
//0 points for wrong answer
gameCol.insert({team:Session.get("teamnr"), points: 0});
console.log("Wrong answer");
}
Мое предположение, что у вас смешаны фигурные скобки. Отступ в примере неверен – Swadq