2013-09-08 60 views
6

Tôi đang sử dụng angular-dragdrop.js lib trong dự án của tôi và tôi có vấn đề với chức năng gọi lại thả. Tất cả các chức năng gọi lại khác đang hoạt động. Tôi đã sửa mã của tôi nhiều lần nhưng không thể tìm thấy câu trả lời, có ai đó gặp phải sự cố này?angularjs kéo và thả plugin thả vấn đề

đây là html của tôi và mã js:

HTML:

<li class="li-draggable" data-drag="true" 
      jqyoui-draggable="{animate: true, 
           placeholder: 'keep', 
           onStart: 'startCallback', 
           onStop: 'stopCallback', 
           onDrag: 'dragCallback'}" 
      data-jqyoui-options="{snap: true, cursor: 'move', revert: 'invalid', helper: 'clone'}"> 
      <a>Text <i class="icon-pencil pull-right"></i></a> 
</li> 
<div class="dummyCell" data-drop="true" 
      jqyoui-droppable="{multiple: true, 
           onDrop: 'dropCallback', 
           onOver: 'overCallback', 
           onOut: 'outCallback'}" 
      data-jqyoui-options="{hoverClass: 'hoverClass'}"></div> 

JS:

$scope.startCallback = function(event, ui) { 
    console.log('You started draggin'); 
}; 

$scope.stopCallback = function(event, ui) { 
    console.log('Why did you stop draggin me?'); 
}; 

$scope.dragCallback = function(event, ui) { 
    console.log('hey, look I`m flying'); 
}; 

$scope.dropCallback = function(event, ui) { 
    console.log('hey, doneeeeeee'); 
}; 

$scope.overCallback = function(event, ui) { 
    console.log('Look, I`m over you'); 
}; 

$scope.outCallback = function(event, ui) { 
    console.log('I`m not, hehe'); 
}; 

Bất kỳ trợ giúp sẽ được đánh giá cao. cảm ơn.

Cập nhật:

Tôi đã không nhận được bất kỳ lỗi trong giao diện điều khiển khi giảm: enter image description here

Trả lời

4

Câu trả lời bạn đang tìm kiếm: ngModel là bắt buộc. Khắc phục sự cố chi tiết dưới đây ...

Sự kết hợp các tùy chọn của bạn đang ném một số lỗi lạ Syntax Error: Token '=' implies assignment but [undefined ] can not be assigned to at column 11 of the expression [undefined = __dragItem] starting at [= __dragItem].

Bắt đầu từ một ví dụ tươi, onDrop không thực sự làm việc: http://jsfiddle.net/HsNRS/

Nếu bạn phá vỡ nó xuống không có gì, nó vẫn ném lỗi: http://jsfiddle.net/RWgX9/1/

Tôi nghĩ rằng ngModel có thể được yêu cầu, vì ngay khi bạn thêm, lỗi sẽ biến mất: http://jsfiddle.net/RWgX9/2/

Và thêm nó trở lại mã ban đầu của bạn, có vẻ như để làm việc bây giờ: http://jsfiddle.net/RWgX9/3/

làm việc vì nó, tôi thấy hey, doneeeeeee trong giao diện điều khiển ... không chắc chắn những gì mục tiêu của bạn là với giao diện người dùng mặc dù.

+0

OMG nó đã hoạt động ... Tôi không biết cảm ơn bạn như thế nào. nó rất lạ tôi đã không nhận được bất kỳ lỗi nào khi thả. kiểm tra câu hỏi của tôi, tôi đã đăng ảnh chụp nhanh của bảng điều khiển mà không có bất kỳ lỗi nào. Cảm ơn nhiều. –

+0

Vì vậy, điều đó có nghĩa là mặc dù tôi không ràng buộc bất kỳ mô hình nào vào danh sách của tôi, tôi vẫn cần khai báo mô hình giả? –

+0

Yea có vẻ như ngModel là cần thiết, đó là loại kỳ lạ. – Langdon

0

Có cùng vấn đề, nhưng sử dụng mô hình ng. Đã cho tôi giờ để nhận ra, rằng tôi đã sử dụng một phiên bản góc cũ (1.0.1) vì lý do nào đó và đó là lý do tại sao onDrop không hoạt động khi onDrag đã làm. Có lẽ điều này rất hữu ích cho ai đó.