AngularJS在可拖动指令中停止功能

时间:2014-11-11 12:44:45

标签: angularjs angularjs-directive

我有以下draggable指令,我在一个seprate文件中的控制器中创建了drag函数。那么如何在拖拽停止时调用此功能。 我已尝试过以下代码,但没有与我合作。



MainApp.directive('draggable', ['$rootScope','$parse', function ($rootScope,$parse) {
    var draggableConfig = {};
    return {

        restrict: 'A',
    
        link: function postLink (scope, element, attrs) {

            element.draggable({
                stop: function (evt, ui) {
                    $parse(scope[attrs.onDrag])();
                }
            })
            }};
}]);

  <div resizable on-resize="resize(1)" draggable on-drag="drag()"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

$ parse返回一个必须根据范围进行评估的函数。

所以你应该这样做:

$parse(attrs.onDrag)(scope)

假设可以从该范围访问函数drag()。否则,可以使用scope.$parent访问它。