如何使用 dom 获取 ng-grid 行数据?
How to get ng-grid row data using dom?
我正在使用 https://github.com/logicbomb/lvlDragDrop 来实现拖放。我将该指令应用于 angular 中的 rowTemplate,因此每个单元格都可以拖放。
在大多数情况下,实际功能是有效的,我想要的功能仍在实现中。当我 select 1 个单元格并将其放入另一个单元格时,我想要每个单元格的 rowEntity,但我不知道如何在不触发 ng-grid 事件(例如 ngStartCellEdit)的情况下获取此 rowEntity。
如果我至少可以获取我拖动的单元格的行索引和列索引,那将是一个很好的起点。
我正在使用的库正在使用angular.element来查找我正在拖动的元素,但我还没有找到一种方法来进一步查找被拖动项目的rowEntity 数据。
有什么建议或想法吗?
试试这个:
$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元素。然后我们使用 "scope" 获取绑定到该单元格的范围变量。要获取行的范围,我们需要获取单元格范围的父级。您可以在这里阅读更多相关信息:https://docs.angularjs.org/guide/scope.
我正在使用 https://github.com/logicbomb/lvlDragDrop 来实现拖放。我将该指令应用于 angular 中的 rowTemplate,因此每个单元格都可以拖放。
在大多数情况下,实际功能是有效的,我想要的功能仍在实现中。当我 select 1 个单元格并将其放入另一个单元格时,我想要每个单元格的 rowEntity,但我不知道如何在不触发 ng-grid 事件(例如 ngStartCellEdit)的情况下获取此 rowEntity。
如果我至少可以获取我拖动的单元格的行索引和列索引,那将是一个很好的起点。
我正在使用的库正在使用angular.element来查找我正在拖动的元素,但我还没有找到一种方法来进一步查找被拖动项目的rowEntity 数据。
有什么建议或想法吗?
试试这个:
$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元素。然后我们使用 "scope" 获取绑定到该单元格的范围变量。要获取行的范围,我们需要获取单元格范围的父级。您可以在这里阅读更多相关信息:https://docs.angularjs.org/guide/scope.