Маршрутизация JavaScript SPA: хэш всегда меняется на #wait, даже если массив не пустJavascript

Форум по Javascript
Ответить
Anonymous
 Маршрутизация JavaScript SPA: хэш всегда меняется на #wait, даже если массив не пуст

Сообщение Anonymous »

Я создаю простой JavaScript SPA с использованием маршрутизации на основе хэша.
У меня есть общий массив (

Код: Выделить всё

window.pote.pote
), который содержит фразы.

Каждый ход имеет таймер. Когда таймер закончится, я хочу:
  • перейти к #phase-1-g2 если массив НЕ пуст
  • перейти к #wait только если массив пуст
Однако, даже если в массиве все еще есть элементы, приложение всегда переходит к #wait.

Упрощенный код:

Код: Выделить всё

window.pote = {
pote: ["phrase 1", "phrase 2"]
};

function decidirProximaTela() {
console.log("Pot size:", window.pote.pote.length);

if (window.pote.pote.length > 0) {
window.location.hash = "#phase-1-g2";
} else {
window.location.hash = "#wait";
}
}
Эта функция вызывается, когда таймер обратного отсчета достигает нуля:

Код: Выделить всё

function iniciarCronometro(tempoInicial) {
let tempo = tempoInicial;

const intervalo = setInterval(() => {
tempo--;

if (tempo  {
switch (window.location.hash) {
case "#phase-1-g1":
renderPhase1G1();
break;
case "#phase-1-g2":
renderPhase1G2();
break;
case "#wait":
renderWait();
break;
}
});
Вопрос
Что может привести к тому, что window.location.hash всегда будет переходить к #wait, даже если условие явно оценивается как true?
Возможно ли, что другая часть приложения переопределяет изменение хеша?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-not-empt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»