【问题标题】:*ngFor with Bootstrap Collapsible only show one data*ngFor with Bootstrap Collapsible 只显示一个数据
【发布时间】:2017-12-15 11:15:57
【问题描述】:

我正在尝试使用 Bootstrap 和 Angular *ngFor 循环指令进行折叠。但它只是折叠/显示我数据库中的第一个数据。按钮的名称已经正确,但是当我单击它们时,每个按钮只会折叠/显示第一个按钮的内容和数据库的第一个数据。看起来我没有让它正常工作,谁能帮我解决这个问题?

<div class="container" *ngFor="let List of List">
  <a href="#List" class="btn btn-info" data-toggle="collapse">{{List.prdName}}</a>
  <div id="List" class="collapse">
    <ul style="list-style: none">
      <li> {{List.prdName}}</li>
      <li> {{List.prdCategory}}</li>
      <li> {{List.prdSup}}</li>
      <li> <img src="{{List.prdImage}}"></li>
    </ul>
  </div>
</div>

【问题讨论】:

    标签: html twitter-bootstrap angular twitter-bootstrap-3


    【解决方案1】:

    href 值可能需要指向唯一的id。您可以使用索引作为 id。像这样的:

    <div class="container" *ngFor="let item of List; let i = index">
      <a href="#List-{{ i }}" class="btn btn-info" data-toggle="collapse">{{item.prdName}}</a>
      <div id="List-{{ i }}" class="collapse">
        <ul style="list-style: none">
          <li> {{item.prdName}}</li>
          <li> {{item.prdCategory}}</li>
          <li> {{item.prdSup}}</li>
          <li> <img src="{{item.prdImage}}"></li>
        </ul>
      </div>
    </div>
    

    【讨论】:

      【解决方案2】:

      请将ngFor="let List of List"中的List改为list

      它可能会起作用

      【讨论】:

      • 我认为不会,因为List 是从我的打字稿文件List: List[] = []; 定义的。
      • @WiraXie 对,但列表中的当前项目可能与列表本身的名称不同
      猜你喜欢
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2019-09-18
      • 2017-01-06
      • 2019-09-14
      • 2020-11-04
      相关资源
      最近更新 更多