如何在角度为2

时间:2018-03-26 10:11:42

标签: 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.id}}</a>
  </td>
  <td>{{data.desc}}</td>
</tr>

我有一个要求,我需要在行下方插入一行,点击该复选框。我试图找出索引并附加在索引下方,但没有成功。请让我知道如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

不是将索引作为getTerms()的参数传递,而是可以像这样传递$event

<a (click) = "getTerms($event)">{{data.id}}</a>

然后在你的组件中你可以这样做:

getTerms(e) {
    console.log(e.target);
    // supposed you are using jQuery
    // update
    $('<tr>New row</tr>').insertAfter($(e.target).closest('tr'));
}

您获得了当前目标,然后找到所点击目标的tr父目标。