2012-11-21 104 views
8

有没有一种方法来设置角度可以排序的回调函数?我想将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> 

谢谢!

回答

3

通过ui-sortable文件(在angular-ui主页上没有它的演示,想知道为什么?)here,我发现它允许2回调 - >启动和更新,以前和在你触发的变化之后。 所以这样的事情应该工作:

<tbody id="existingStockResults" ui-sortable update="myCallback()" ng-model="processes"> 
6

现在,您可以指定更新功能在ui-sortable属性,像这样:

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

但仍然存在着一些问题与排序指令,如在this example。他们目前正在讨论here

+0

事情已经改变了。 'ui-options'属性不再使用,我编辑我的答案。 –

+0

ui-sortable现在是它自己的组件,似乎已经修复了一些问题,但我不知道它是否有回调 –

+0

它曾经用过,但回调似乎不再有效。 –

5

我更喜欢使用哈希与我的更新回调定义的选项,在我的范围是这样的:

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

,并在模板:

<div ui-sortable="sortableOptions"> ...