我有一个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-&gt; getTarget-&gt; getBindedScope。
实际代码类似于
var a = $($event.target)
var ac = a.scope();
但是当我做的时候
console.log(ac);
注销的东西是&#34;未定义&#34;。
我希望在这里实现的是访问该范围并获取其他内容。例如foo.id或foo.someproperty
很多人对此前的帮助表示赞赏。
PS:我知道这不是angularjs的方式,但我希望由于其他原因而实现。PS2:尝试$ event.target。记录结果是这样的
答案 0 :(得分:0)
我不清楚你要做什么(我没有那么多使用jQuery,而不是使用AngularJS),但我得到你想要访问foo对象(或其他)来自ngClick方法的ngRepeat内的该项目范围的各个方面。
你能不这样做吗?
<div ng-controller='controller'>
<div ng-repeat='foo in foos' ng-click='$parent.handle($event)'>{{foo.name}}</div>
</div>
这样你就可以在ngRepeat项目中调用父控制器的handle()方法(由于 $ parent 前缀)孤立的范围。
如果有帮助,请告诉我。