说我在ng-repeat
条款中有这个div:
<div ng-repeat="item in list" class="myDiv" ng-click="doStuff(item)">
{{item.title}}
</div>
它基于这个模型:
$scope.list = [
{ 'title': 'Item 1', 'someData': 'lalala' },
{ 'title': 'Item 2', 'someData': '666' },
{ 'title': 'Item 3', 'someData': 'qwerty' }
];
然后我最终得到3个重复的div
现在我有一个分析页面的外部脚本,我想提取元素的数据
例如,如果我选择第一个div var div1 = $('div.myDiv:first')
,我可以从中获取属性ng-click
和ng-repeat
。我也可以使用angular.element(div1).data('$binding')
来获取绑定{{item.title}}
但我真正想要的是这个特殊div的单个项目数据:即我想写一个函数getItemData(element)
,它将获得div1
并返回{ 'title': 'Item 1', 'someData': 'lalala' }
。
如何做到这一点?
请注意,我需要一个解决方案,无论是使用转发器绑定还是使用常规绑定都可以使用。我基本上需要知道绑定到每个元素的实际数据。
答案 0 :(得分:9)
您可以使用angular.element.scope
方法访问元素数据对象:
var div1 = $('div.myDiv:first');
var dataItem = angular.element(div1).scope().item;