1

我目前正在使用 Angular (4.0) 和 ng2-dragula。我已经div对一个 Dragula 容器发疯了,以便像这样移动其中的项目:

<div id="dragcontainer" [dragula]='"first-bag"'>

现在我想实现这个功能,让我的 div 在按钮点击时变成一个可拖动的 Dragula div。例如:

按钮点击前:

<div id="dragcontainer">

点击按钮后:

<div id="dragcontainer" [dragula]='"first-bag"'>

我试过这个:

HTML 按钮:

<button md-raised-button style="margin-left: 20px;" (click)="dragable()">
    Make it drawable
</button>

类型代码:

dragable(): void {
    document.getElementById("dragcontainer").setAttribute("[dragula]", "first-bag");
}

但这不起作用。为了确保我.setAttribute正确使用了命令,我尝试了这个:

dragable(): void {
    document.getElementById("dragcontainer").setAttribute("align", "center");
}

那是有效的。

有没有人尝试过这个或者有人知道如何解决这个问题?

4

1 回答 1

0

也许您需要在按钮单击后触发的控制器中的一些布尔标志,您应该监听drakeService.on('drag', listener)并且如果标志设置为false(最初)然后您立即触发.cancel(true)方法。

我认为如果您可以提供一些在线演示(例如 plunkr)会容易得多。

于 2017-08-03T00:39:43.540 回答