2017-03-08 103 views
1

我正在使用Angular 2,並且我有一個div,我在標記中重複,其上有一個click事件。代碼如下圖所示:如何獲得角2.0中每個div的唯一ID?

標記:

<div class="row"> 
    <button class="btn btn-primary" (click)="addExtra"> 
     Add Extra</button> 
    </div> 

    <div *ngFor="let val of addExtra"> 
     <div class="row"> 
      <div class="col-md-2"> 
       <label for="title">Title</label> 
      </div> 
      <div class="col-md-8"> 
       <input type="text" id="title" style="width:100%" class="form-control" /> 
      </div> 
     </div> 
    </div> 
</div> 

按鈕被使用的打字稿代碼:

class MyClass { 
    // Other things in my code... 

    addExtra(): void { 
     this.addExtra.push("inserted"); 
    } 
} 

問:如何將一個添加一個唯一的ID爲每個div添加,這樣我可以有一個刪除按鈕來刪除該div?

回答

1

可以使用index變量:

<div *ngFor="let val of addExtra let i=index" [id]="'id'+i"> 

但對於一個刪除按鈕,你不需要id財產。您可以使用

<div *ngFor="let val of addExtra"> 
    <button (click)="delete(val)">delete</button> 

<div *ngFor="let val of addExtra let i=index"> 
    <button (click)="delete(i)">delete</button> 
+0

不能使Plunker任何意義。似乎你使用了一些舊的Plunker並對其進行了修改。 'new'按鈕提供了一個最新的隨時可用的Angular2模板 –