javascript - Angular-ui-tree drop INTO 节点

标签 javascript angularjs angular-ui-tree

我目前正在使用Angular UI Tree连接的树。 Tree1 只有一层深度,而 Tree2 的深度是无限的。我需要能够将 Tree2 中的任何项目拖入 Tree1 项目并捕获该事件。

只是澄清一下:实际上 Tree1 是 Tree2 的顶级项目,这使我可以轻松地在整个数据结构之间移动项目。

我在当前文档中找不到执行此操作的方法,因此我执行了以下操作: 在 Tree1 上我禁用了放置:

<div ui-tree="tree1Options" id="tree1-root" data-nodrop-enabled='true'>

然后在 Tree2 上我添加了以下回调:

<div ui-tree="tree2Options" id="tree2-root">

$scope.tree2Options = {
dropped : function(event) {
      console.log("dropped" + event);
    },

    dragStop : function(event) {
      console.log("dragStop" + event);
    },

    beforeDrop : function(event) {
      console.log("beforeDrop" + event);
    },
}

当我从 Tree2 拖动到 Tree1 时,没有显示占位符(这很好),但我无法从目标位置获取拖放所在的项目。看起来目标实际上是源。

有什么想法吗?另外,您是否知道更好的方法来实现 DROP INTO?

最佳答案

似乎每个范围都有一组回调,也许可以向传入的数据添加一个标志,以便它知道它来自哪个不同的模型,以便在一个回调内的 case 切换下运行不同的函数

关于javascript - Angular-ui-tree drop INTO 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39384360/

相关文章:

javascript - AngularJS 嵌套 ng-repeat 访问索引

javascript - Angular UI 树 - 只允许拖放到第二级(子节点)

angularjs - 如何在ui-tree angular js的顶部添加新节点

javascript - 如何克隆 Angular UI 树中的节点?

javascript - Thymeleaf 替换表属性中的文本

javascript - masonry 布局需要建议导致重叠 - 绝望

javascript - 限制在AngularJS中输入的数字长度

javascript - 在复选框状态下设置 Cookie

javascript - 简单的 Chrome 扩展不会显示弹出窗口

angularjs - 如何在显示新的 toastr 之前清除以前的 toastr 并在它们之间设置超时?