2017-02-13 4 views
-1

У меня есть список, содержащий объекты, имеющие порядок сортировки и код страны. Вы можете изменить порядок сортировки, теперь изменение порядка сортировки должно снова упорядочить элементы списка в соответствии с новыми порядками сортировки. Например:Angular Js - Список элементов переупорядочения

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

Пожалуйста, добавьте больше контекста на ваш вопрос. Разработайте ожидаемые изменения базы данных, которые вы хотите свести к минимуму. – DevCod

+0

Хорошо, позвольте мне объяснить. Я изменил только одно значение, т.е. изменил порядок сортировки Великобритании с 4 до 2, и все остальные заказы сортировки увеличились до США, но RUS остался таким же, поэтому 4 стали 2, а порядок сортировки 2 и 3 стал 3 и 4 соответственно. Если я отслеживаю scope.changes в угловом, то я получу три изменения ie.UK, IND и USA. Есть ли какая-нибудь работа или минимальный подход, когда мне просто нужно обновить только запись в Великобритании. –

ответ

0

Поскольку кода нет, я предположил, что код пользовательского интерфейса и рабочий процесс вы пытаетесь работать. Вы можете использовать приведенный ниже код для выборочного отслеживания изменений в модели.

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.