javascript - 具有动态长度的 Angular 中的 Bootstrap Accordion

标签 javascript twitter-bootstrap angular promise

我正在结合 Bootstrap 学习 Angular 4。 这个想法是从我的后端服务器接收一系列列表,它工作得很好,并在一个 Accordion 中显示每个列表(折叠)。 我的问题如下:由于列表数组的长度不同,我必须动态创建元素,这会产生此错误:

    zone.js:569 Unhandled Promise rejection: Template parse errors:
Can't bind to 'target' since it isn't a known property of 'tr'. ("  <tbody>
    <tr *ngFor="let listObj of lists"  class="panel panel-default" data-toggle="collapse" [ERROR ->]data-target="#collapse{{listObj.index}}">
      <td><div class="panel-group">
          <div class="p"): ng:///AppModule/TestComponent.html@8:90 ; Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors:
Can't bind to 'target' since it isn't a known property of 'tr'. ("  <tbody>
    <tr *ngFor="let listObj of lists"  class="panel panel-default" data-toggle="collapse" [ERROR ->]data-target="#collapse{{listObj.index}}">
      <td><div class="panel-group">
          <div class="p"): ng:///AppModule/TestComponent.html@8:90

它应该是什么样子:Tested with hardcoded HTML

我的 HTML:

<table class="table table-hover ">
  <thead>
   <tr>
     <th>Description</th>
     <th>Author</th>
   </tr>
 </thead>
  <tbody>
    <tr *ngFor="let listObj of lists"  class="panel panel-default" data-toggle="collapse" data-target="#collapse{{listObj.index}}">
      <td><div class="panel-group">
          <div class="panel-heading">
              {{listObj.list.listDescription}}
              {{listObj.index}}
          </div>
          <div id="collapse{{listObj.index}}" class="panel-collapse collapse">
            <ul class="list-group">
              <li *ngFor="let item of listObj.list.listItems" class="list-group-item col-lg-12">{{item}}</li>
            </ul>
          </div>
      </div>
    </td>
    <td>{{listObj.list.listAuthorName}}</td>
      <td>
        <div class="input-group">
          <input type="text" class="form-control" #listAdd>
          <span class="input-group-btn">
            <button (click)="onClickAddItem(list.listId, listAdd.value)" class="btn btn-default" type="button">add</button>
            <button class="btn btn-danger" type="button">Delete</button>
          </span>
        </div>
      </td>
    </tr>
  </tbody>
</table>

列表对象数组采用标准 JSON 格式

请原谅我的英语,谢谢你的帮助

最佳答案

我猜你正在寻找像这样的属性绑定(bind)

[attr.data-target]="'#collapse' + listObj.index"

关于javascript - 具有动态长度的 Angular 中的 Bootstrap Accordion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44332874/

相关文章:

javascript - 高效添加子节点

javascript - 如何为多行字符串中的特定文本添加粗体 Canvas ?

javascript - 如何将 var 分配给函数并复制它?

html - 垂直居中到一个div

javascript - 使用 Angular 通过 Blob 显示图像列表

angular - AngularDart 中有反应形式吗?

angular - 尝试在组件中对基于模板的表单进行单元测试,表单没有控件

javascript - jquery 只允许点与数字

javascript - Accordion 内的 Bootstrap 选项卡

html - 导航栏下的组件