6

このプラグインを Angular で使用しています。ドキュメントには、

ドラッグ可能なオブジェクトが呼び出される onDrop コールバック メソッドは、ドロップ可能なオブジェクトにドロップされます

だから私はこのようにそれを使ってみました(関連する部分はonDrop="myCallback" です):

<div class="thumbnail" data-drop="true" 
        onDrop="myCallback" ng-model='list1' 
        data-jqyoui-options="optionsList1" 
        jqyoui-droppable="{multiple:true}">
    <div class="caption">
        <div class="btn btn-info btn-draggable" 
              ng-repeat="item in list1" 
              ng-show="item.title" 
              data-drag="{{item.drag}}" 
              data-jqyoui-options="{revert: 'invalid'}" 
              ng-model="list1" jqyoui-draggable="{index: {{$index}},animate:true}">                
        {{item.title}}
        </div>
    </div>
</div>

そして、スコープで関数を次のように定義しました。

$scope.myCallback = function(event, ui){
    console.log('Dropped into something');
};

http://plnkr.co/edit/kiYrIU?p=preview

プランカーからわかるように、何らかの理由でコールバック関数が見つからないため、これは機能しません (おそらくスコープを見ていませんか?)。

onDrop="myCallback(event, ui)"など、これの複数のバリエーションを試しましたが、onDrop="myCallback"どれも機能しませんでした。

これはバグですか、それとも正しく使用していないだけですか?

前もって感謝します。

4

1 に答える 1

10

私が見た例に基づいて、あなたは間違っています。

  1. onDropコールバックはで宣言する必要がありますjqyoui-droppable

    jqyoui-droppable = "{..., onDrop: 'myCallback', ...}"

ただし、より完全なコードについては、@ this を参照してください。

解決

プランカー

ただし、小さなバグですが、最初の 2 つのアイテムがドロップされ、それ以上はドロップされませんが、これは途中で役立つはずです。更新: 制限が設定されていることに気付きました。ばかげています。その場合は解決です

于 2013-08-05T20:43:16.593 に答える