Почему мой ng-класс отображается даже когда false

У меня есть изображение, которое я пытаюсь поколебать, когда пользователь угадывает название рыбы. Я пользуюсь условно ng-class="{'shake':error}", Однако даже при правильном ответе изображение дрожит. Я не верю этому в любое время $scope.error установлен в true. Что мне здесь не хватает?

codepen

1 ответ

Решение

Я думаю, что вы хотите сделать, это return угадайте, правильно или угадайте неправильно с вашего compare функция.

$scope.compare = function(guess) {
    guess = guess.replace(/\s/g, '').toLowerCase();
    var answers = [];
    answers.push($scope.name.replace(/\s/g, '').toLowerCase());

    currentAnimal.alts.forEach(function(alt) {
        answers.push(alt.toLowerCase().replace(/\s/g, ''));
    });
    //console.log(answers);
    //console.log("Guess: " + guess + "\n");
    //console.log("Answer: " + answers + "\n");

    for (var x = 0; x <= answers.length; x++) {
        if (guess === answers[x]) {
            return guessIsCorrect();
        }
        if (x === answers.length) {
            return guessIsWrong();
        }
    }

};
Другие вопросы по тегам