0
我有一個屬性,我在其中添加了「可拖動」指令。這使jQuery UI可拖動組件。我的指示如下:用Angular JS動態更新jQuery UI屬性的最佳方法是什麼?
testModule.directive('draggable', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.draggable({ revert: true });
}
}
});
我有一個作用域函數,檢查這些項目是否應該啓用/禁用。我正在使用ng-class指令來添加/刪除禁用的類。它看起來如下(這顯然是其他的東西,但爲了簡單起見,我剛剛返回false):
$scope.enabled = function(){
return false;
}
所以讓我的殘疾類應用,我可以這樣做:
<span draggable data-ng-repeat="item in items" data-ng-class="{disabled: enabled()}">{{item.Name}}</span>
我的問題是,如果我想要做一些類似的事情,並且啓用時返回false,那麼執行此操作的最佳方法是什麼。我研究過使用$ watch,但它並不是必須依賴於項目的變化,而是取決於應用程序的狀態,它結合了多種因素。我想要的是簡單的說,如果啓用返回false抓住元素,並使用jQuery禁用可拖動像這樣 - $(元素).draggable(「禁用」)
我覺得應該有一個直接的方式做到這一點,但我似乎無法得到一個指令,以正常工作。
感謝您的幫助!
謝謝!還有一個問題,如果啓用是一個功能,可以在整個應用程序中進行更改,這是一個問題嗎?我認爲鏈接功能只在項目第一次生成時執行。 – Skylude
也爲了澄清每個項目沒有啓用屬性。 Enabled是一個函數,它查看應用程序的多個方面以確定是否應該啓用該可拖動。這不僅僅是一個簡單的屬性。 – Skylude