сортируемый обратный вызов углового пользовательского интерфейса

Есть ли способ установить функцию обратного вызова с возможностью сортировки углового пользовательского интерфейса? Я хотел бы добавить ng-update="foo()" к тегу tbody ниже и запустить foo при каждом изменении списка.

<tbody id="existingStockResults" ui-sortable ng-model="processes">
    <tr ng-repeat="process in processes" ng-class="{odd: $index%2 == 0, even: $index%2 != 0}">
        <td>{{process.process}}</td>
        <td>{{process.vendor}}</td>
        <td>{{process.desc}}</td>
            <td>{{process.cost}}</td>
        <td><a href="#" ng-click="editProcess($index)">edit</a></td>
        <td><a href="#" ng-click="removeProcess($index)">remove</a></td>
    </tr>
</tbody>

Спасибо!


person kreek    schedule 21.11.2012    source источник


Ответы (3)


Теперь вы можете указать функцию обновления в атрибуте ui-sortable, например:

<tbody ui-sortable="{update: foo()}">

Но все еще есть несколько проблем с директивой sortable, как в этом примере. В настоящее время они обсуждаются здесь.

person Jill-Jênn Vie    schedule 24.12.2012
comment
Времена изменились. Атрибут ui-options больше не используется, я редактирую свой ответ. - person Jill-Jênn Vie; 30.03.2013
comment
ui-sortable теперь является собственным компонентом, который, кажется, исправил некоторые проблемы, но я не знаю, есть ли у него обратные вызовы. - person Jason Goemaat; 31.05.2013

Я предпочитаю использовать хеш параметров с моим обратным вызовом обновления, в моей области действия, например:

$scope.sortableOptions = {
    disabled: false,
    update: function(event) {
        return $scope.sortableUpdated = true;
    }
};

и в шаблоне:

<div ui-sortable="sortableOptions"> ...
person Adam Spence    schedule 07.01.2014

Чтение файла ui-sortable (на домашней странице angular-ui нет его демонстрации, интересно, почему?) здесь, я вижу, что он допускает 2 обратных вызова -> запуск и обновление, до и после изменения, которое вы запускаете. Итак, что-то вроде этого должно работать:

<tbody id="existingStockResults" ui-sortable update="myCallback()" ng-model="processes">
person Tiago Roldão    schedule 21.11.2012