Bootstrap 仅显示MongoDB集合中第一个元素的引导模式

lndjwyie  于 2022-12-07  发布在  Bootstrap
关注(0)|答案(1)|浏览(138)

我正在使用NodeJS,Handlebars和Bootstrap来构建一个简单的Web应用程序。它应该循环通过一个MongoDB集合的模拟产品,并显示它的字段。
我在“产品卡片”中显示数据(请参阅image)。当循环遍历集合以创建卡片时,它会阅读每个产品。但是,我有一个按钮,可以打开每个卡片上的模态-它应该显示与该产品相关的信息,这不起作用。

问题是所有模态显示的信息仅与MongoDB集合中的 * 第一个索引 * 相关。

下面是我的HTML代码来显示产品:

<div class="products">
  <h1>Featured Products</h1>
  <section class="product-list">
    <div class="product-container">
      {{#each Product}}
        <div class="card">
          <div class="title">{{this.name}}</div>
          <div class="image">
            <img src="https://source.unsplash.com/random/50×50/?fruit" />
          </div>
          <div class="cost">{{this.cost}}</div>
          <div>
            <button class="buy-button">Add to cart</button>
            <button
              class="buy-button"
              data-toggle="modal"
              data-target=".bd-example-modal-sm"
            >More Detail</button>
          </div>
        </div>

        <!-- modal -->
        <div
          class="modal fade bd-example-modal-sm"
          data-toggle="modal"
          aria-hidden="true"
        >
          <div class="modal-dialog modal-md">
            <div class="modal-content">
              <div class="carousel" data-ride="carousel">
                <div class="parentSlider">
                  <div class="parentSlider-cell">
                    <img
                      class="img"
                      src="https://source.unsplash.com/random/50×50/?fruit"
                    />
                  </div>
                  <div class="product-detail-text">
                    <p>Name: {{this.name}}</p>
                    <p>Price: {{this.cost}}</p>
                    <p>Description: {{this.description}}</p>
                  </div>
                </div>
              </div>
              
              <div class="modal-footer">
                <button class="buy-button" data-dismiss="modal">Close</button>
              </div>
            </div>
          </div>
        </div>
      {{/each}}
    </div>
  </section>
</div>
2eafrhcq

2eafrhcq1#

您需要为您的模态指定唯一的ID。我假设您使用Bootstrap作为打开模态的功能部分。data-target属性应该是您要显示的模态的唯一选择器。
当前,您将其设置为.bd-example-modal-sm,这将打开与该选择器匹配的 first 元素。
如果你的Product数组没有唯一的ID,你可以使用特殊的变量名@index来获取你正在循环的当前项的索引。如果Product是一个对象,那么你可以使用@key
下面是一个包含Product数组的简单示例:
第一个

相关问题