HTML:
<tr *ngFor="let item of items">
<td #id>{{item.id}}</td>
<td>{{item.comment}}</td>
<td> <i class="fa fa-trash-o" aria-hidden="true" (click)="deleteTime(id.value)"></i></td>
</tr>
组件中的DeleteTime方法:
deleteTime(id_value) {
let id = id_value;
var arg= {
"id": id
};
this.myService.deleteTime(arg).subscribe();
}
成功我正在创建我的html元素,当用户单击图像时,deleteTime按钮单击事件正在激活,但id.value未定义,因此我无法删除该项目。问题在于我没有正确地使用 #id td 的值。我尝试传递clickevent {{item.id}},但后来遇到了语法错误。
答案 0 :(得分:0)
<tr *ngFor="let item of items">
<td #id>{{item.id}}</td>
<td>{{item.comment}}</td>
<td> <i class="fa fa-trash-o" aria-hidden="true" (click)="deleteTime(id)"></i></td>
</tr>
deleteTime(idElement:HTMLElement) {
let id = idElement.InnerText;
var arg= {
"id": id
};
this.myService.deleteTime(arg).subscribe();
}
我没有尝试传递值,而是传递了HTML元素并使用了它的内部文本。
答案 1 :(得分:0)
我不得不说这是非常糟糕的做法。使用项目中的id而不是使用innerHTML。 deleteItem(item.id)
就是这样
你不需要这个
let id = idElement.InnerText;
var arg= {
"id": id
};