1
我有两个简单的列表,可以将问题拖入和拖出。每次我拖累的问题之一,它改变其“激活”状态为true或false:角度拖放
$scope.onDrop = function ($event, $data, array) {
if ($data.Active) {
$data.Active = false;
array.push($data);
}
else if (!$data.Active) {
$data.Active = true;
array.push($data);
}
};
这个伟大的工程,但我需要从能够拖放到同一个列表,因为他们限制用户正在拖动,因为这也会触发onDrop函数。
我使用:http://angular-dragdrop.github.io/angular-dragdrop/
我刚开始用拖放但是从我可以告诉文档的是,我不得不使用拖动通道/下降通道的属性,但是我我很难理解他们是如何工作的。
在我的标记,我有两个面板,像这样:
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
Aktiva frågor
</div>
<div class="panel panel-body">
<ul class="dnd"
drag-channel="A"
drop-channel="A"
ui-on-drop="onDrop($event,$data,activeQuestions)">
<li ui-draggable="true" drag="aquestion"
on-drop-success="dropSuccessHandler($event,$index,activeQuestions)"
ng-repeat="aquestion in activeQuestions track by $index">
{{aquestion.Name}}
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
Inaktiva Frågor
</div>
<div class="panel panel-body" >
<ul class="dnd"
drag-channel="B"
drop-channel="B"
ui-on-drop="onDrop($event,$data,inactiveQuestions)">
<li ui-draggable="true" drag="iquestion"
on-drop-success="dropSuccessHandler($event,$index,inactiveQuestions)"
ng-repeat="iquestion in inactiveQuestions track by $index">
{{iquestion.Name}}
</li>
</ul>
</div>
</div>
</div>
我已经尝试了所有种类的A与B的组合,但都不是工作,所以很明显,我似乎不明白他们的逻辑。
或者,如果这不是解决问题的最佳方法,请让我知道更好的方法。 :)
我相信我在找同样的东西。你能显示你的最终代码吗? – 2015-11-24 17:28:41
没关系。得到它了。对于这样做的其他人,我在'ui-draggable'元素中放入'drag-channel ='B'',在'ui-on-drop'中放入'drop-channel ='B'' – 2015-11-24 17:34:21