Получить все изображения из JSON, используя node.js с представлением ejs - PullRequest
0 голосов
/ 02 июня 2018

Я изучаю node.js, и я столкнулся с проблемой, когда мне нужно отобразить все изображения из массива JSON во внешний интерфейс, используя представление ejs.Мой JSON выглядит так:

[
{
    "id":1,
    "avatar":"../img/hof/Biba.jpg",
    "position":1,
    "cups":[
        "../img/pokal_euro.png",
        "../img/pokal_lp.png",
        "../img/pokal_wc.png"
    ],
    "points":634,
    "prize":852
}

]

Мой ejs-файл, в котором я пытаюсь вызвать изображения, выглядит следующим образом

<% dataSorted.forEach(function(dat) { %>
       <img src="<%= dat.avatar %>">
        <div class="mesto"><h1><%= dat.position %></h1></div>
        <div class="cups">
        <img src="<%= dat.cups[0] %>" class="pokal"/>
        </div>
        <h4 class="levo"><%= dat.points %> točk</h4>
        <h4 class="desno"><%= dat.prize %>€</h4>
  <% }); %>

Что я делаю не так?

1 Ответ

0 голосов
/ 02 июня 2018

Вам необходимо циклически перебирать чашки, поэтому, если чашки в данных отсортированы:

<% for (var i = 0; i < dataSorted['cups'].length; i++) { %>
    <div class="cups">
        <img src="<%= dataSorted['cups'][i] %>"/>
    </div>
<% }; %>

Обновление

Если вы правильно поняли ваш вопрос, вам нужно показать все изображения длявсе предметы:

<% dataSorted.forEach(function(dat) { %>
       <img src="<%= dat.avatar %>">
        <div class="mesto"><h1><%= dat.position %></h1></div>
        <% for (var i = 0; i < dat['cups'].length; i++) { %>
            <div class="cups">
                <img src="<%= dat['cups'][i] %>"/>
            </div>
        <% }; %>
        <h4 class="levo"><%= dat.points %> točk</h4>
        <h4 class="desno"><%= dat.prize %>€</h4>
  <% }); %>
...