使用ng2-dragula在两个角度分量之间拖放

时间:2017-05-29 13:20:43

标签: javascript drag-and-drop ng2-dragula

我有两个角度组件,一个称为托盘,包含单个托盘项目,另一个称为主机,最初为空。我已经为每个组件声明了ndragula指令(分别是托盘包和主机包)。我可以在我的托盘组件中重新排序托盘物品而没有任何问题,但是当我尝试将托盘物品拖到我的主机组件时,它不接受掉落动作。有什么具体的东西我必须配置让我的主人接受托盘中的物品吗?

调色板的HTML是:

<ul class="palette">
 <app-palette-item [dragula]='"palette-bag"' id="palette" *ngFor="let item of Items" [Name]="item.Name" [Description]="item.Description" [Icon]="item.Icon"></app-palette-item>
 </ul>

对于主持人:

<div class="host" id="host" [dragula]='"host-bag"' [dragulaModel]='Items'>
  <div *ngFor='let text of Items' [innerHtml]='text'></div>  
</div>

我的顶级应用程序组件是这样的:

<div>
  <app-palette id="palette"></app-palette>
  <app-host id="host"></app-host>
</div>

1 个答案:

答案 0 :(得分:1)

为了允许两个包之间的拖放,它们必须具有相同的名称(例如:&#34; fisrt-bag&#34;):

对于调色板:

<ul class="palette">
 <app-palette-item [dragula]='"first-bag"' id="palette" 
 *ngFor="let item of Items" [Name]="item.Name" 
 [Description]="item.Description" [Icon]="item.Icon"></app-palette-item>
</ul>

对于主持人:

<div class="host" id="host" [dragula]='"first-bag"' [dragulaModel]='Items'>
  <div *ngFor='let text of Items' [innerHtml]='text'></div>  
</div>