6

我通过ng2-dragula使用拖放。拖放功能以这种方式应用:

<div class='container' [dragula]='"first-bag"'>
    <div>item 1</div>
    <div>item 2</div>
</div>

如果我正确理解了 Angular 2,那么如何附加到我的 div 的方式在 Angular 2[dragula]='"first-bag"'中称为属性指令。

现在我的组件中有一个名为enableDragNDrop:boolean. 如何[dragula]='"first-bag"'仅在以下情况下使用此变量附加到我的 div enableDragNDrop == true

如果enableDragNDrop == false,我想要这个:

<div class='container'><!-- no dragula attribute directive, no dragndrop -->
    <div>item 1</div>
    <div>item 2</div>
</div>
4

1 回答 1

3

无法通过添加/删除选择器来动态添加/删除指令。选择器dragula必须是静态 HTML 才能应用指令。如果它提供了这样的配置选项,您只能使用 Dragula 的功能来启用/禁用它。

我没用过ng2-dragula,或者dragula我猜你可以这样分配dragModel和配置它

<div class='container' dragula [dragulaModel]="dragulaModel">
dragulaModel = {start: function () {}};

当你想启用它时,分配一个不禁用启动的模型

enableDrag() {
  this.dragulaModel = {};
}

没有测试,只是浏览了一下源代码。

于 2016-05-04T08:13:14.520 回答