Почему я получаю Undefined, когда пытаюсь заполнить этот буквальный шаблон? - PullRequest
0 голосов
/ 18 февраля 2019

Я установил локальный элемент хранения, массив, чтобы быть более точным.

Затем я получаю его и пытаюсь заполнить свой буквальный шаблон, но я получаю неопределенный

undefined:1 GET http://localhost/undefined 404 (не найдено) по неопределенному: 1

Вот мой код:

var rawRelatedProductCategoryArray = localStorage.getItem('relatedCategoryProductsSelected');

var parsedRelatedProductArray = ('rawRelatedProductCategoryArray', JSON.parse(rawRelatedProductCategoryArray));

console.log(parsedRelatedProductArray); // on this i get the result of my array

document.getElementById("relatedProducts").innerHTML = `${parsedRelatedProductArray.map(relatedProductsTemplate).join('')}`

Вот шаблон, который я пытаюсь поместить в массивданные в нем:

function relatedProductsTemplate(relatedProduct) {
  return `
   <div class="relatedDiv">
    <div class="item mb-0 text-center ">
      <div>
        <div class="post-prev-img">
          <a href="#"><img src="${relatedProduct.image}" alt="img"></a>
        </div>
        <div class="post-prev-title mb-5">
          <h3><a class="font-norm a-inv" href="shop-single.html">${relatedProduct.dataProduct}</a></h3>
        </div>
        <div class="shop-price-cont">
          <strong>${relatedProduct.price}</strong>
        </div>
      </div>
    </div>
  </div>
  `
}

1 Ответ

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

Я обнаружил, что сделал не так:

проблема была в том, что массив был вложенным.

Итак, я сделал так:

  var arrayNesting = parsedRelatedProductArray[0];

Тогда япередал переменную в литерал следующим образом:

  document.getElementById("relatedProducts").innerHTML =
    `${arrayNesting.map(relatedProductsTemplate).join('')}`
...