/ / Има ли начин да се ограничи прилагането на OrderBy на ng-repeat в AngularJs селективно? - angularjs, angularjs-ng-repeat, angularjs-orderby

Има ли начин да се ограничи прилагането на OrderBy на ng-repeat в AngularJs селективно? - angularjs, angularjs-ng-repeat, angularjs-orderby

В моята кандидатура аз итератирам върху масив, чиито стойности са свързани с текстови кутии (основно вход тип = "число"). т.е.

казвам,

<div ng-repeat="number in numbers|orderBy:"value"">
<input type="number" ng-model="number.value">
</div>

Тази връзка Plnkr - http://plnkr.co/edit/?p=preview&s=D7hhm2al6sOXMHwQ

демонстрира какво говоря.

Така че, веднага щом променя стойността натекстовите полета се пренареждат. Не искам това да се случи, тъй като създава дискомфорт за моите потребители, които трябва да търсят кутията, която текущо са редактирали. Искам решение, при което ng-repeat се поръчва за първи път, когато са създадени номерите, но не са поръчани отново, докато не бъдат пресъздадени. Как мога да постигна това? Моля помогнете.

Отговори:

1 за отговор № 1

Можете да го направите, като поръчате масива си веднъж във вашия controller, в този случай чрез инжектиране $filter, Направете това след като сте се заредили $scope.numbers, очевидно.

.controller("myController", function($filter, $scope){
$scope.numbers = $filter("orderBy")($scope.numbers, "value")
})