2017-05-29 8 views
1

Ich arbeite im Moment mit Angular (4.0) und ng2-Dragula. Ich habe ein div zu einem dragula Behälter verrückt die Elemente in ihm so zu bewegen:Hinzufügen von Dragula Attribut auf Buttonclick

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

Nun möchte Ich mag die Funktion implementieren, um meine div zu einem dragable dragula div auf Tastenklick zu machen. Zum Beispiel:

Vor Schaltfläche klicken:

<div id="dragcontainer"> 

Nach Schaltfläche klicken:

HTML-Button::

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

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

ich das versucht habe TypScipt Code:

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

aber das funktioniert nicht. Um sicherzustellen, dass ich den .setAttribute Befehl verwendet habe, richtig habe ich versucht, dies:

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

und arbeitet.

Hat jemand das schon einmal versucht oder weiss jemand wie man das löst?

Antwort

0

Vielleicht müssen Sie einige boolean-Flag in der Steuerung, die nach dem Button-Klick ausgelöst wird, sollten Sie auf drakeService.on('drag', listener) hören und wenn Flag false (zunächst) gesetzt ist, dann sofort Sie .cancel(true) Methode auslösen.

Wäre viel einfacher Ich denke, wenn Sie eine Online-Demo (plunkr zum Beispiel) bereitstellen könnten.

Verwandte Themen