【发布时间】:2014-07-02 22:52:36
【问题描述】:
我有一个 div 元素和一个附加的 ng-click 事件处理程序。像
<div ng-controller='controller' ng-click='handle($event)'>
<div ng-repeat='foo in foos'>{{foo.name}}</div>
</div>
当用户点击 foo.name 时,我可以捕获该事件,但似乎我无法访问由 ng-repeat 创建的隔离范围。
我尝试遵循这条路径 getEvent->getTarget->getBindedScope。
实际代码类似于
var a = $($event.target)
var ac = a.scope();
但是当我这样做时
console.log(ac);
注销的内容是“未定义”。
我希望在这里实现的是访问该范围并获取其他内容。如 foo.id 或 foo.someproperty
非常感谢您提前提供的帮助。
PS:我知道这不是angularjs的方式,但由于其他一些原因我希望实现。
PS2:$event.target 已尝试。记录结果类似于
【问题讨论】:
-
尝试记录 $event.target 并发布响应。
-
@tasseKATT 感谢在 plunker 中像魅力一样工作的人。但我仍然在我的实际项目中打印出“未定义”。好伤心。
-
你能显示更多代码吗?获得隔离作用域的方法是 a.isolateScope(),但我认为 ng-repeat 不会创建一个。您是否有另一个带有隔离范围的指令?然后尝试 a.isolateScope()。
标签: jquery angularjs events dom scope