我正在尝试创建一个组件列表并附加一个click事件监听器,用于注册所单击组件的索引。
我可以通过在我的叶子节点上附加事件监听器来实现这一点,因为它知道它的索引。但后来我不得不再次冒这个事件了。我更喜欢做的是在叶子的父母处有以下内容:
template: `
<trackpoint
*ngFor='#tp of lapData; #i=index'
[tp]='tp'
[index]='i'
[ngClass]="{selected:selectedTps[i]}"
(click)='handleClick($event)'>
</trackpoint>
`,
并在我的控制器中
handleClick(e:MouseEvent) {
console.log(e);
this.lapEventHandler.next({
// I want to be able to access i from the template
});
}
我一直在检查MouseEvent对象,但是虽然我可以在事件父项中找到Trackpoint,但我找不到index
属性。我是不是想做不可能的事。
答案 0 :(得分:7)
尝试
(click)='handleClick($event, i)
和
handleClick(e:MouseEvent, i: any)