簡體   English   中英

在組件方法中使用* ngFor值

[英]Using *ngFor values in component method

我試圖從我的組件中的* ngFor循環中獲取id值以刪除特定對象,我的代碼看起來像這樣:

HTML:

<tr *ngFor="let c of myCompanyArray">
    <td>{{c.id}}</td>
    <td>{{c.companyName}}</td>
    <td>{{c.password}}</td>
    <td>{{c.email}}</td>
    <td>
      <a href="" class="tooltip">
        <i class="fas fa-user-edit"></i>
        <span class="tooltiptext">edit company</span>
      </a>
    </td>
    <td>
      <a  class="tooltip" >
        <i class="far fa-trash-alt" (click)="sendIdForDelete({{c.id}})"></i>
        <span class="tooltiptext">delete company</span>
      </a>
    </td>
  </tr>

零件:

sendIdForDelete(compid){
console.log("company id is : " + compid.value);
///this.dataService.deleteCompany(compid.value);

}

什么語法我試過里面(點擊)=“sendIdForDelete({{c.id}})或(點擊)=”sendIdForDelete(c.id)“我總是得到undefined真的很感謝你的幫助謝謝

你應該在你的html中調用sendIdForDelete(c.id)並在你的組件中更改你的方法,如下所示

sendIdForDelete(compid: number){
console.log("company id is : " + compid);
}

在這種情況下,您將id(數字或字符串)傳遞給您的組件(.ts文件),而您的函數(sendIdForDelete)應該只獲取一個id。

現在你可以在函數中使用相應的id做任何事情。

你不應該在你的模板中使用插值,只是沒有{{}}

<i class="far fa-trash-alt" (click)="sendIdForDelete(c.id)"></i>

並且在TS內部不使用值,因為你已經傳遞了一個數字,

sendIdForDelete(compid:any){
   console.log("company id is : " + compid);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM