如何使用dom获取ng-grid行数据?

时间:2015-03-24 00:11:10

标签: jquery angularjs ng-grid

我使用https://github.com/logicbomb/lvlDragDrop来实现拖放。我将指令应用于角度的rowTemplate,因此每个单元格都可以拖放。

在大多数情况下,实际功能正在运行,我想从中得到的功能仍在实施中。当我选择1个单元格并将其放入另一个单元格时,我想要每个单元格的rowEntity,但我不知道如何在不触发ng-grid事件的情况下获取此rowEntity,例如ngStartCellEdit。

如果我至少可以获得我拖动的单元格的行索引和col索引,那将是一个很好的起点。

我正在使用的库正在使用angular.element来查找我正在拖动的元素,但我还没有找到一种方法来进一步查找拖动项的rowEntity数据。

有任何建议或想法吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

$scope.dropped = function(dragEl, dropEl) {
   var drag = angular.element(dragEl);
   var cellScope = drag.scope();
   var rowScope = cellScope.$parent;
   var entity = rowScope.row.entity;

   //Short version:
   var entity = angular.element(dragEl).scope().$parent.row.entity;
   var colIndex= cellScope.col.index;
   var rowIndex = rowScope.row.index;
}

这适用于ng-grid和ui-grid。

说明:我们使用angular.element将HTML元素转换为angular元素。然后我们使用"范围"获取范围变量绑定到该单元格。为了获得行的范围,我们得到单元范围的父级。您可以在此处详细了解:https://docs.angularjs.org/guide/scope