【问题标题】:How to get ng-grid row data using dom?如何使用 dom 获取 ng-grid 行数据?
【发布时间】:2015-03-25 09:25:24
【问题描述】:

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

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

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

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

有什么建议或想法吗?

【问题讨论】:

    标签: jquery angularjs ng-grid


    【解决方案1】:

    试试这个:

    $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

    【讨论】:

    • 成功了,非常感谢。我真的不明白它是如何工作的。你能解释一下 angular.element.scope 部分吗?我还需要获取其他信息,例如 rowIndex 和 colIndex,这同样容易吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多