Невозможно прочитать длину свойства undefined (предупреждение о пустом контейнере) - PullRequest
0 голосов
/ 21 февраля 2019

Как реализовать код, если «совпадения» представлены в виде шаблона усов, в котором я хочу вернуть предупреждающее сообщение «нет совпадений» и «совпадения доступны».он хорошо работает с оператором else, но с оператором if ничего не возвращает.вот код:

$.each(data.matches, function() {
               var match = this;
                if(this.matches == 0){
                    alert('no matches');
                }
                else{
                    alert('matches available');
                }
                $contents += Mustache.render(container, this);
            });

есть идеи как?спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

насколько я понимаю, что вы data объект и внутри этого списка объектов matches выглядит, что если нет совпадений, он возвращается как undefined, а не как пустой массив [], поэтому он выдает исключение. Невозможно прочитать длину свойства неопределенного

, поэтому вы должны вернуть пустой массив для отсутствия совпадений или проверить объект совпадений, прежде чем выполнять итерацию по списку следующим образом

if(!data.matches){
   alert('no matches');
}
else{
   alert('matches available');
   $.each(data.matches, function() {
          var match = this;
          $contents += Mustache.render(container, this);
   });
}
...