无法绑定到'target',因为它不是'div'的已知属性

时间:2017-04-13 07:56:45

标签: angular collapse

我在实现折叠功能时遇到此错误:

  

错误:模板解析错误:无法绑定到'target',因为它不是a   已知的'div'属性

app.component.html:

<div *ngFor = "let ele of elements; let RowIndex = index">
    {{ele.name}} 
    <button data-toggle="collapse" 
            data-target="#demo{{RowIndex}}">Toggle
    </button>
    <div id="demo{{RowIndex}}" class="collapse">Lorem Ipsum</div>

</div>

但如果我只使用data-target="#demo",那就行了。但是当我绑定{{RowIndex}}而不是显示错误时。

4 个答案:

答案 0 :(得分:77)

你错过了财产绑定

<button data-toggle="collapse" 
        [attr.data-target]="'#demo'+ RowIndex">Toggle
</button>


<button (click)="clickMe($event)">Toggle</button>

clickMe(value){
    value.srcElement.innerHTML="Clicked";

  }

答案 1 :(得分:26)

使用angular的属性绑定语法。

使用以下其中一项:

<button data-toggle="collapse" 
        attr.data-target="#demo{{RowIndex}}">Toggle
</button>

<button data-toggle="collapse" 
        [attr.data-target]="'#demo' + RowIndex">Toggle
</button>

答案 2 :(得分:1)

使用属性绑定: attr.data-target =“ {{您的目标}}”

答案 3 :(得分:0)

您可以使用href标记代替div。您可以检查以下代码

<div class="card" *ngFor="let service of servicesArr;let i = index">
  <a data-toggle="collapse" href="#{{i}}{{service.name}}">{{service.label}}</a>
  <div id="{{i}}{{service.name}}" class="collapse">
     Lorem ipsum dolor text....
  </div>
</div>