Координация функций JavaScript

#javascript #json

#javascript #json

Вопрос:

У меня есть 2 шаблона js для создания контента на моей веб-странице.

Теперь первый шаблон получает массив из файла JSON (см. Также #Load JSON#) и загружает содержимое. (смотрите также #1 #)

второй загружается непосредственно из js. (см. также #2 #)

Проблема в том, что # 2 # работает само по себе, но вместе они не хотят работать, и я не знаю почему.

#Загрузить JSON#

 const lister = document.getElementById("lister");
const buyTickets = document.getElementById("buyTickets");
fetch('../Backend/events.json').then(function(response) {
  // The API call was successful!
  if (response.ok) {
    return response.json();
  } else {
    return Promise.reject(response);
  }
}).then(function(data) {
  if (lister) {
    lister.innerHTML = `${data.map(importEventInfo).join("")}`;
  }
  if (buyTickets) {
    buyTickets.innerHTML = `
      ${data.map(importTickets).join("")}`;
  }
}).catch(function(err) {
  // There was an error
  console.warn('Something went wrong.', err);
});
  

#1#

 importTickets = function(tickets) {
  return (
    `<div class="tickets ${tickets.class} expandet">
      <div class="tickets__item--genre">
        <div class="tickets__item--headerwrapp">
          <img class="tickets__item--festivalpic" src="${tickets.image}">
          <div class="tickets__item--header ">
            <div class="tickets__item--headderpic">
            </div>
          </div>
        </div>
        <h2 class="tickets__item--title">${tickets.title}</h2>
        <div class="tickets__item--availability">Verfügbare Tickets
          <span class="tickets__item--counter">${tickets.availableTickets}</span> /
          <span class="tickets__item--max">${tickets.totalTickets}</span>
          <div class="tickets__item--graficalavailability">
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
            <div class="tickets__item--tenth "></div>
          </div>
        </div>
        <div class="tickets__item--btnwrap">
          <button class="blackbtn">KAUFEN</button>
        </div>
      </div>
    </div>`
  )
}
  

#2#

 buyTickets.addEventListener("load", function() {
  document.getElementById("buyTickets").innerHTML.afterPageload = ` 
    <div class="marked">  
      <h2>Gemerkte Festivals</h2>
    </div>
    <div class="unmarked">
      <h2>Alle Festivals</h2>
    </div>`
})
  

Комментарии:

1. Привет, Мартин, добро пожаловать в SO. Неясно, что должен делать ваш код. Что вы имеете в виду, когда не работаете вместе . И с какой проблемой вы столкнулись?

2. На первый взгляд я вижу, .innerHTML.afterPageload что приведет к ошибке в вашем файле # 2 # . afterPageLoad не является свойством innerHTML .