Angular ui-树检测相连树之间的拖动事件

Angular ui-tree detect drag event between connected trees

我想检测项目从树#1 拖放到树#2 时的事件。在这种情况下,我想调用一个特定的 http 操作来保存它。我将 dropped 事件与一棵树中的操作一起使用,但是当我在树之间移动项目时我无法管理它。我试图找到事件 'dest' 和 'source' 对象的差异,但没有找到任何解决方案。

我解决了我的问题。我向树添加了自定义数据树类型属性

 <div ui-tree="treeOptions" id="tree-root" data-tree-type="mainTree" data-drag-delay="200">
        <ol ui-tree-nodes ng-model="data">
            <li ng-repeat="node in data" data-info="{{node.pageId}}" ui-tree-node ng-include="'nodes_renderer.html'"></li>
        </ol>
</div>

然后在 angular-ui-tree.js 指令中 uiTree 我添加了监视功能

scope.$watch(attrs.treeType, function (val) {
     scope.treeType = attrs.treeType;
});

现在我可以比较丢弃事件目标和源对象中的 treeType 属性。