2014-04-30 28 views
0

拖在我Angularjs應用程序,我有一個用戶可以拖動每item.each項目的項目列表是指令,並把它命名爲simple-element禁用jQuery UI的拖動項目時在Angularjs

app.directive('simpleElement',function(){ 
return { 
    restrict:'AE', 
    template:'<span>Item</span>', 
    controller:function(){ 

    }, 
    link:function(scope,element,attrs){ 
    element.draggable({ 
    revert:true, 
    helper:'clone' 
    }); 
    } 
} 
}); 

現在我想,當用戶即使拖動成功拖動每個項目,拖動項目disabled的事件,以便用戶不能再拖動項目。我使用拖放功能在Plunker上創建了一個示例。

回答

0

我找到解決方案。我不知道這是最佳做法,但它對我有用。我插入這些代碼行中link功能:

$scope.$watch('item.visible',function(){ 

       //Enable Disableing when Item draged 
       if($scope.item.visible == false){ 
        element.draggable("disable"); 
       } 
       if($scope.levelModel.visible == true){ 
        element.draggable("enable"); 
       } 
      }); 

先看model.then的visible財產,如果在模型中的屬性更改我決定啓用或禁用元素。