Ich benutze Drag & Drop über ng2-dragula. Die Drag & Drop-Funktionalität & wird auf diese Weise angewendet:Angular 2: Wie wird die Attributrichtlinie bedingt angewendet?
<div class='container' [dragula]='"first-bag"'>
<div>item 1</div>
<div>item 2</div>
</div>
Wenn ich Winkel verstehen 2 die Art und Weise richtig, wie [dragula]='"first-bag"'
meiner div Attribute Directive in Angular genannt wird angebracht 2.
Jetzt habe ich eine Variable in meiner Komponente enableDragNDrop:boolean
genannt. Wie kann ich diese Variable verwenden, um [dragula]='"first-bag"'
an meinem div nur anzufügen, wenn enableDragNDrop == true
?
Wenn enableDragNDrop == false
, ich möchte dies:
<div class='container'><!-- no dragula attribute directive, no dragndrop -->
<div>item 1</div>
<div>item 2</div>
</div>
Ich aktualisierte meine Antwort. –
danke für die antwort. Wenn 'dragulaModel = {start: function() {}};', ist Drag & Drop erlaubt, und wenn ein Element verschoben und gelöscht wird, wird folgender Fehler ausgelöst: 'TypeError: sourceModel.splice ist keine Funktion'. Btw, gibt es zwei Ansätze, wie man mit dem Problem umgehen: man ist komplett zu verhindern Drag & Drop - bis jetzt wissen wir nicht, wie dies zu tun ist. Zweite Möglichkeit ist, dass Drag & Drop möglich ist, aber die Ergebnisse werden nicht gespeichert, zB 'if (enableDragNDrop) this.dragulaService.dropModel.subscribe (this.myCustomOnDropCallback.bind (this))' – Peter
Ich plane nicht tiefer zu tauchen zu diesem Thema, weil ich momentan nicht vorhabe, mich selbst zu benutzen. Ich habe gerade versucht, aus einer Winkelsicht zu helfen. Ich könnte bessere Ergebnisse erzielen, wenn ich speziell nach Dragula frage, ohne Angular zu erwähnen. –