EJS цикл печати дополнительных записей - PullRequest
0 голосов
/ 13 октября 2018

Я не могу понять, почему этот EJS каждый цикл печатает a href tel: кратно раз после попытки нескольких различных концептуальных ограничений.Я не могу заставить этот телефонный номер напечатать один раз!

Этот оператор цикла является подциклом родительского цикла для info.person, который считывает все перечисленные номера телефонов.Подзаголовок должен загружаться как каждая функция (насколько я понимаю), поэтому я пытаюсь ограничить его только первым числом.

Примечание: это также очень интересно, потому что элемент телефона SVG загружается только один раз.Но a href загружается несколько раз как часть одного и того же оператора IF !!!Я почти чувствую, что это конфликт между хитрым отслеживанием Google и моим использованием Abrowser.(см .: Google Tracking ).

Этот код печатает один SVG для телефонов и несколько ссылок: элементы (см. скриншот)

            <div class="row">
        <% if (info.phones){ %>
          <% var j = 0; %>
            <% $.each(info.phones, function(i, phone){ %>
                <% if (j == 0){ %>
                    <div class="col-xs-1"><img class="svg_icon" src="/images/svg/phone.svg"/></div><div class="col-xs-7"><a href='tel:<%= phone %>'><%= phone %></div>
                    <% j = 1; %>
                <% } %>
            <% }) %>
        <% } %>
        </div>

Мне пришлось использоватьизображение здесь, потому что слишком сложно вставить код из инспектора, но это ejs на стороне клиента. И вот что распечатывается успешно, и, просто чтобы уточнить, есть только один href = tel: на всей странице, которая здесь появляется несколько раз.

Итак, я попытался изменить вспомогательный циклитератор от i до j, что имеет смысл, потому что родительский цикл использует i.Но результаты.

            <div class="row">
        <% if (info.phones){ %>
            <% $.each(info.phones, function(j, phone){ %>
                <% if (j == 0){ %>
                    <div class="col-xs-1"><img class="svg_icon" src="/images/svg/phone.svg"/></div><div class="col-xs-7"><a href='tel:<%= phone %>'><%= phone %></div>
                <% } %>
            <% }) %>
        <% } %>
        </div>

Поведение остается тем же в браузере Brave.Обратите внимание на один SVG для телефона, который находится внутри заявления IF.И номер телефона снова печатается после Email SVG!

Примечание # 2: Примечание: это для проекта, разветвленного из проекта DataRay MyRep, который очень умело использует EJS для извлечения данных из Civic Info Project (бесплатно).

1 Ответ

0 голосов
/ 13 октября 2018

Неважно, я нашел проблему, и немного смущен.Я поужинал и, наконец, заметил все важные закрывающие теги для

. EJS успешно пытался найти закрывающий тег без сбоев, который находился за границей оператора IF!

<a href='tel:<%= phone %>'><%= phone %>***</a>***</div>
...