找不到Angular.js angular-dragdrop自定义回调函数

时间:2013-08-05 19:27:41

标签: javascript jquery-ui angularjs jquery-draggable

我正在将此plugin与Angular一起使用。在文档中它说明了

  

要调用的onDrop回调方法draggable被放入droppable

所以我尝试使用它(相关部分是 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

正如您从Plunker中看到的那样,这不起作用,由于某种原因找不到回调函数(它可能没有查看范围?)。

我尝试了多种变体,例如onDrop="myCallback(event, ui)"onDrop="myCallback"等。这些都没有效果。

这是一个错误还是我没有正确使用它?

提前致谢。

1 个答案:

答案 0 :(得分:10)

基于我看到你做错了的例子。

  1. onDrop回调应在jqyoui-droppable

    中声明

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

  2. 但请查看@ this以获取更完整的代码here

    <强>解决方案

    Plunkr

    虽然Lil bug,它会丢掉前两个项目而已,但这应该可以帮助你。更新:我刚刚注意到你有限制,傻我。在那种情况下,它已经解决了