ui-sortable ディレクティブを使用してソート可能に angular-ui を使用しています。スコープの状態に基づいてソート可能な機能を動的に有効/無効にすることは可能ですか? したがって、スコーププロパティの状態を変更するボタンが必要であり、このプロパティのソートに応じて、機能するかどうかが異なります。
質問する
9478 次
4 に答える
26
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
};
});
于 2013-07-17T21:15:19.507 に答える
0
ui-if
バージョンとソート不可能なバージョンを切り替えるために使用できますがui-sortable
、これは恐ろしい設計です。ただし、 jQuery Sortable Docsをチェックアウトした場合は、のオプションがあるようですdisabled
。ディレクティブがオプション オブジェクトの変更を現在監視している場合は、このオプションを簡単に切り替えることができます。options オブジェクトが値ではなく参照によって監視されている場合は、おそらく微調整でプルリクエストを開く必要がありますか?
于 2013-05-04T08:50:17.413 に答える
-1
これに対する私の最初の試みには、スコープ内の値に基づいて ui-sortable を含む、または含まないテンプレート フラグメントをコンパイルする link 関数を含む新しいディレクティブが含まれます。
時間があるときにコーディングします。
于 2013-04-24T02:04:00.587 に答える