sortable
jqueryui のソート可能なプラグインをラップするディレクティブを定義しようとしています。
角度コードは次のとおりです。
module.directive('sortable', function () {
return function (scope, element, attrs) {
var startIndex, endIndex;
$(element).sortable({
start:function (event, ui) {
startIndex = ui.item.index();
},
stop:function (event, ui) {
endIndex = ui.item.index();
if(attrs.onStop) {
scope.$apply(attrs.onStop, startIndex, endIndex);
}
}
}).disableSelection();
};
});
html コードは次のとおりです。
<div ng-controller="MyCtrl">
<ol sortable onStop="updateOrders()">
<li ng-repeat="m in messages">{{m}}</li>
</ol>
</div>
のコードMyCtrl
:
function MyCtrl($scope) {
$scope.updateOrders = function(startIndex, endIndex) {
console.log(startIndex + ", " + endIndex);
}
}
コールバックでstartIndex
andを取得して何かを実行したいのですが、次のように出力されます。endIndex
updateOrders
undefined, undefined
これらのパラメータをコールバックに渡す方法は? 私のアプローチは正しいですか?