我的ng-repeat指令属于性质:
<div ng-repeat = "i in items track by $index">
<mydirerctive attr1 = {{i.attr1}}, attr2={{i.attr2}, ng-click="displayMenu(i)"} > </mydirective>
</div>
displayMenu
功能应该显示基于所选项目的菜单。为了确定应该呈现菜单的位置,我应该有一个唯一的DOM引用来指向每个项目(例如,一个唯一的id)。如何让ng-repeat
中的每个项目获得唯一ID?
答案 0 :(得分:0)
angular会为您提供$ event对象:
ng-click="displayMenu($event,i)"
从$ event您可以访问触发click事件的元素。只需通过console.log($ event)...
记录$ event答案 1 :(得分:0)
从它的外观来看,如果需要对相同的DOM元素进行操作,则displayMenu
函数应该是指令本身的一部分。因此,不要使用ng-click
,而是通过.on()
或使用包含ng-click
的指令模板在指令内手动监视click事件。然后你只需要传递适当的菜单信息。