我想在mouseover事件中获取表的row元素。问题是事件目标是光标下的td元素而不是行元素本身。到目前为止,这与角度无关。它是一个DOM的东西。 这是我的组成部分:
@Component({
//....
template: `
<tr *ngFor="#row of rows;" (mouseover)="onRowHover($event)">
<td *ngFor="#cell of row.cells">{{cell.value}}</td>
</tr>`
})
export class Table {
private onRowHover(event) {
console.log("hover", event.target); //will print "hover <td>"
}
}
要解决这个问题,我通常会使用&#39;这个&#39;来获取行,这将是行元素:
<tr onmouseover="console.log("hover", this)"> <!-- Will print "hover <row>" -->
所以问题是:我如何访问&#39;这个&#39;或Angular2中的行元素?是否有类似的东西:
<tr ... (mouseover)="onRowHover($event, $this)" >
我现在的解决方法是获取event.target的父级,这是适当的tr元素。
答案 0 :(得分:2)
怎么样
<tr #tr *ngFor="#row of rows;" (mouseover)="onRowHover(tr)"></tr>
答案 1 :(得分:0)
console.log(event.path[0]);
返回鼠标所在的最内层元素