Angular Js - 重新排序列表项

时间:2017-02-13 15:54:27

标签: angularjs asp.net-web-api

我有一个列表,其中包含具有排序顺序和国家/地区代码属性的对象。您可以更改排序顺序,现在更改排序顺序应根据新的排序顺序再次对列表项重新排序。例如:

Country Code | Sort Order
AUS            1
IND            2
USA            3
UK             4
RUS            5

现在将英国的排序改为2应该给出结果:

Country Code | Sort Order
AUS            1
UK             2
IND            3
USA            4
RUS            5

我需要一个解决方案,其中数据库更改应该是最小的。由于此列表将通过角度控制器发送到C#web Api控制器以进行保存。

1 个答案:

答案 0 :(得分:0)

由于没有提供代码,我假设您正在尝试处理的UI代码和工作流程。您可以使用以下代码有选择地跟踪模型的更改。

HTML:
<html>
        <input ng-change="change(ele, '{{ele.sortOrder}}')" type="number" ng-model="ele.sortOrder"></input>
</html>

JavaScript:
$scope.change = function(NewObject, OldSortOrder) {
$scope.NewObject = NewObject;
$scope.NewSortOrder = NewObject.sortOrder;
$scope.OldSortOrder = OldSortOrder;

//Make a call to the C# web Api now with the changes you want to update in the backend.
//$http.post('api/..');

}

完整代码保存在https://plnkr.co/edit/LdhpZr?p=preview

可以在ng-change get new value and original value找到这样的另一个查询。