我正在尝试创建一个组件列表并附加一个单击事件侦听器,该侦听器注册所单击组件的索引。
我可以通过在我的叶节点上附加事件侦听器来实现这一点,因为它知道它的索引。但是,我不得不将事件比我可能需要的次数多冒一次。 我更愿意做的是在叶子的父级有以下内容:
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 对象,但尽管我可以在事件父项中找到跟踪点,但我找不到 index
属性。我是否试图做不可能的事情。
尝试使用
(click)='handleClick($event, i)
和
handleClick(e:MouseEvent, i: any)