我正在使用ui-sortable指令对angular-ui进行可排序。是否可以根据范围状态动态启用/禁用可排序功能?因此,我需要一个按钮来更改scope属性的状态,并根据此属性可排序是否应该起作用。

最佳答案

angular指令支持在可排序选项更改时进行监视:

scope.$watch(attrs.uiSortable, function(newVal, oldVal){


因此,您要做的就是查看jqueryui可排序文档,并更新插件上的正确属性。

HTML

<ul ui-sortable="sortableOptions" ng-model="items">
   <li ng-repeat="item in items">{{ item }}</li>
 </ul>
<button ng-click="sortableOptions.disabled = !sortableOptions.disabled">Is Disabled: {{sortableOptions.disabled}}</button>


JS

app.controller('MainCtrl', function($scope) {
  $scope.items = ["One", "Two", "Three"];

  $scope.sortableOptions = {
    disabled: true
  };
});

10-05 21:04