Я новичок в рулях. js. Я пытаюсь использовать один шаблон для создания нескольких HTML элементов, используя несколько объектов.
Это код, который у меня есть:
HTML структура:
<div id="homeList" style="text-align: center;">
</div>
<script id="bar-item" type="text/x-handlebars-template">
{{#each this}}
{{#product}}
<div class="homeItem">
<article class="card" style="width: 18rem;">
<img class="card-img-top" src={{thumbImg}}>
<div class="card-body">
<h5 class="card-title">{{name}}</h5>
<p class="card-text">{{description}}</p>
<button class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">More Info</button>
</div>
</article>
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">{{title}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="modal-description">{{modalDesc}}</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
{{/product}}
{{/each}}
</script>
JavaScript
<script>
var template = document.getElementById('bar-item').innerHTML;
var templateScript = Handlebars.compile(template);
var context = [{
product: [{name: "ROG Strix G731GU",
description: "Hello there 01",
thumbImg: "https://i.ibb.co/WPtzVv8/ROG.png",
modalDesc: "Description1"},
{name: "Dell G5",
description: "Hello there 02",
thumbImg: "https://pisces.bbystatic.com/image2/BestBuy_US/images/products/6407/6407991_rd.jpg",
modalDesc: "Description2"}]
}];
var html = templateScript(context);
document.getElementById("homeList").innerHTML = html;
</script>
Проблема в том, что при доступе к modalDesc
он показывает "Description1" в обоих модальных окнах. Однако все остальные выражения верны. Кто-нибудь знает, что я могу сделать, чтобы это исправить? Я попытался изменить структуру данных, но это все равно не работает.