如何在angular 2中的单击行下方插入行

如何在angular 2中的单击行下方插入行,angular,Angular,我的代码如下所示: <tr *ngFor = "let data of values; let i = index"> <td> <label class="checkbox"> <input type="checkbox" (change) = "insertRow(i)"> </label> <a (click) = "getTerms(data.id)">{{data.

我的代码如下所示:

<tr *ngFor = "let data of values; let i = index">
  <td>
     <label class="checkbox">
        <input type="checkbox" (change) = "insertRow(i)">
     </label>
     <a (click) = "getTerms(data.id)">{{data.id}}</a>
  </td>
  <td>{{data.desc}}</td>
</tr>

{{data.id}
{{data.desc}}

我需要在选中复选框的行下方插入一行。我试图找出索引并在索引下面追加,但没有成功。请告诉我如何实现这一点?

您可以通过如下方式传递索引,而不是将索引作为
getTerms()的参数传递:

<a (click) = "getTerms($event)">{{data.id}}</a>
{{data.id}
然后在您的组件中可以执行以下操作:

getTerms(e) {
    console.log(e.target);
    // supposed you are using jQuery
    // update
    $('<tr>New row</tr>').insertAfter($(e.target).closest('tr'));
}
getTerms(e){
console.log(如target);
//假设您正在使用jQuery
//更新
$('newrow').insertAfter($(e.target).closest('tr');
}

您获得了当前目标,然后找到所单击目标的父对象。

谢谢!代码行下面的代码工作
$('').insertAfter($(event.target.parent().parent())。我需要插入新行(tr)。更新我的答案