ng2-dragula setOptions 和 drop 版本问题

2024-01-01

显然1.5.0支持this.dragulaService.setOptions而 2.1.1 不支持,相反,2.1.1 支持this.dragulaService.drop订阅 1.5.0 没有。

Stackblitz 分叉 1.5.0 https://stackblitz.com/edit/ng2-dragula-base-rbfvbg?file=src%2Fapp%2Fapp.component.ts

Stackblitz 分叉 2.1.1 https://stackblitz.com/edit/ng2-dragula-base-yabai4?file=src%2Fapp%2Fapp.component.ts

需要注意的相关代码:

1.5.0(不工作)

(Error) https://i.stack.imgur.com/9AjqF.png:

无法调用类型缺少调用签名的表达式。类型 “EvenEmitter”没有兼容的调用签名。 (财产) AppComponent.dragulaService:DragulaService

this.dragulaService.drop("dnd")
      .subscribe(({ name, el, target, source, sibling }) => {
      //content
}

1.5.0(工作中)

this.dragulaService.setOptions('dnd', {
  moves: (el, source, handle, sibling) => !el.classList.contains('nodrag')
});

2.1.1(工作中)

this.dragulaService.drop("dnd")
    .subscribe(({ name, el, target, source, sibling }) => {
    //content
}

2.1.1(不工作)

this.dragulaService.createGroup("dnd", {
  moves: (el, source, handle, sibling) => !el.classList.contains('nodrag')
});

(Error) https://i.stack.imgur.com/xN3PS.png:

'{moves: (el: any, source: any, handle: any,sibling: any) 类型的参数 任何)=> 布尔值; }' 不可分配给类型参数 “德拉古拉选项”。对象字面量只能指定已知的 属性,并且“Dragula Options”类型中不存在“moves”。 (参数)句柄:任意

请注意,虽然有一个迁移指南 https://github.com/valor-software/ng2-dragula/blob/master/MIGRATION-v2.md and 变更日志 https://github.com/valor-software/ng2-dragula/blob/master/modules/ng2-dragula/CHANGELOG.md确实如此state https://github.com/valor-software/ng2-dragula/blob/master/MIGRATION-v2.md#4-replace-setoptions-and-dragulaoptions-with-dragulaservicecreategroup 如何将 setOptions 替换为 create group https://i.stack.imgur.com/zLD2B.png。但在我的情况下它仍然不起作用。

有什么办法可以同时使用这两个功能吗?或者我错过了一些明显的事情?


您想要:创建组并一起使用放置功能吗?

We use createGroup和...一起drop但有一个小小的区别 - 订阅中添加了下降服务,但我认为这没有任何问题。所以我们的代码在这里:

export class xxxComponent implements OnInit {
    ...
    public dragula$: Subscription;
    ...

    constructor(public dragulaService: DragulaService) {
        this.dragulaService.createGroup('ITEMS', {
            direction: 'vertical',
            moves: (el, source, handle): boolean => handle.className.indexOf('item-keeper') > -1
        });
    }

    ngOnInit() {
        this.dragula$.add(this.dragulaService.drop('ITEMS')
            .subscribe(({name, el}) => {
                ....
            })
        );
    }

}

我认为根据有关事件的文档,我们的解决方案是正确的:https://github.com/valor-software/ng2-dragula#events https://github.com/valor-software/ng2-dragula#events

最后,我认为你的问题是类名错误,因为其他一切都在你的 Stackblitz 示例中完美运行。如果取消注释:

    this.dragulaService.createGroup("dnd", {
      moves: (el, source, handle, sibling) => !el.classList.contains('nodrag')
    });

您的标签不可拖动,因此您可以获得所需的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ng2-dragula setOptions 和 drop 版本问题 的相关文章

随机推荐

  • 如何从 servlet 调用 EJB 3.1 非零参数构造函数?

    我有一个 login java servlet 正如其名称所示 它为我的 Web 应用程序提供登录功能 我是一名新手 正在使用 EJB 3 1 和 EE 6 在我的 LoginBean java EBJ 中 我有一个无参数构造函数和另一个具
  • 在android中动态创建活动

    android 如何从 android 清单文件注册一个活动 以便它出现在包管理器中 我确实明白这是在安装应用程序时完成的 有没有办法调整 android 源代码来创建 API 来动态创建和注册活动 android如何从android清单文
  • 以计数作为标签的 2D 摘要图

    我有一个数量的测量值 value 在特定点 lon and lat 如下面的示例数据 library ggplot2 set seed 1 dat lt data frame lon runif 1000 1 15 lat runif 10
  • 有没有办法在 Swift 中重写数组到字符串的转换?

    我正在尝试使用 Swift 让它看起来更 动态类型 只是为了好玩 没有预期的生产价值 现在我陷入了将内置类型转换为的覆盖行为String 例如 我想看到这个输出Array let nums 1 2 3 print nums I m an a
  • 码头工人。没有这样的文件或目录

    我有一些文件 我想将它们移动到 Docker 容器中 但最后 docker 找不到文件 本地计算机上包含文件的文件夹位于 home katalonne flask4 文件结构如果重要的话 The Dockerfile First Flask
  • 如何根据两个不同活动中其他旋转器的位置来更改旋转器的位置

    我在两个不同的活动中有两个 Android 微调器下拉列表 但是两个微调器都具有来自同一源的相同数据 我想根据第一个活动的位置更改第二个活动的位置 如何解决此问题 更新的代码 第一个活动 public class ServiceReques
  • 发送带有正文的 Angular $http.delete

    在我的 Angular 应用程序中 我需要发送 http delete请求这条路线 projects id activityTypes 注意它不以活动类型 ID 结尾 传递具有以下格式的正文 id 2 这是为了允许通过发送数组内的多个对象来
  • 如何在react.js中使用Enter键提交表单?

    这是我的表单和 onClick 方法 我想在按下键盘的 Enter 按钮时执行此方法 如何 N B 没有jquery被赞赏 comment function e e preventDefault this props comment com
  • 如何有效地将字符串与一组通配符字符串进行匹配?

    我正在寻找一种将单个字符串与一组通配符字符串进行匹配的解决方案 例如 gt gt gt match ab a b c b a b 输出的顺序并不重要 我将按照 10 4 个通配符字符串的顺序进行匹配 并且我将进行大约 10 9 个匹配调用
  • python 中“itertools.combinations”的计算复杂度是多少?

    itertools combinationspython 是一个强大的工具 可以找到所有组合r但是 我想了解它的条款计算复杂度 假设我想知道以下方面的复杂性n and r 当然它会给我所有r列表中的术语组合n terms 根据官方文档 这是
  • 使用 Excel 在 WCF mex Moniker 上调用方法时出现自动化错误

    我成功创建了一个服务名字作为我的 WCF 服务的客户端 但我无法调用该名字的任何方法 在WCF服务端我有一个名为TestMethod的虚拟方法 如下所示 Public Function TestMethod ByVal TestValue
  • kubernetes 中的 MySQL 路由器作为服务

    我想在 Kubernetes 中部署 MySQL router 作为服务 我的计划 在 k8 内部署 MySQL router 并使用以下命令将 MySQL router 作为服务公开LoadBalancer 金属LB 在 k8 内运行的应
  • $sce.trustAsHtml 与 ng-bind-html

    为什么我不能这样做 div data htmlfilterexample div 当我在过滤器内返回时 return sce trustAsHtml input Using div div 无论过滤器是否返回都有效input or sce
  • Java - CompareTo 和运算符

    如果我有课Person实现Comparable 比较personA height to personB height 例如 是否可以使用 personA lt personB 作为替代品 personA compareTo personB
  • 在 Marionette 中从一个区域切换到另一个区域时,视图渲染不正确

    我正在与Marionette我有以下问题 我创建了一个包含两个不同区域的布局 在initialize该布局在布局的两个区域中加载两个视图 说ViewA and ViewB 之内ViewA一个事件被触发 该事件由布局消耗以进行切换 并注入其他
  • Django:模型实例历史记录

    在我的项目中 我必须处理上传的文件 并且我想拥有每个文件版本的历史记录 并在一个视图中显示历史记录 在我的模型中 每个文件都有一个版本 名称和路径 该文件通过一对多关系与其他类 A 相关 我想要一种更新功能来替换以前的文件 并且我还想要访问
  • 数据加载器 tqdm 的最佳方式

    如何使用 tqdm 进行 data loader 这是正确的方法吗 for i j in enumerate data loader total 100 pass 您需要使用 tqdm 包装可迭代对象 正如他们的文档明确指出的那样 立即让您
  • gcc 编译的 main() 中无用的序言的动机,禁用它?

    给出以下最小测试用例 void exit int int main exit 0 具有 32 位 x86 目标的 GCC 4 9 及更高版本会生成如下内容 main leal 4 esp ecx andl 16 esp pushl 4 ec
  • 使用startup.cs中分配的委托处理OnTokenValidated时出现问题

    我想在 ASP NET Core 2 0 中正确使用 DI 以便让我的自定义方法处理OnTokenValidated在身份验证过程中验证 JWT 令牌后触发的事件 下面的解决方案有效 except在处理程序中我使用了一个注入的服务来命中Me
  • ng2-dragula setOptions 和 drop 版本问题

    显然1 5 0支持this dragulaService setOptions而 2 1 1 不支持 相反 2 1 1 支持this dragulaService drop订阅 1 5 0 没有 Stackblitz 分叉 1 5 0 ht