Как использовать orderBy в AngularJS (1.2) для сортировки, без неполных записей
Итак, я делаю некоторые основные CRUD с AngularJS. Вот мнение:
<table>
<tr ng-repeat=="person in persons | orderBy:lastName">
<td>
{{person.firstName}}
</td>
<td>
{{person.lastName}}
</td>
<td>
</td>
</tr>
<tr>
<td>
<input ng-model="person.firstName">
</td>
<td>
<input ng-model="person.lastName">
</td>
<td>
<button ng-click="save(person)">Save</button>
</td>
</tr>
</table>
Проблема заключается в том, что когда вы вводите нового пользователя во входные данные, позиция этой строки перемещается туда, где он соответствует алфавиту. Очевидно, что я хочу, чтобы это произошло, но только тогда, когда пользователь закончил печатать и нажал "сохранить".
1 ответ
Вы должны обновить привязку переменной видимости на размытие, для этого вы должны посмотреть на ng-model-options
Я бы посоветовал вам пойти на ng-model-options="{ updateOn: 'blur' }"
для поля, которое упоминается в фильтре orderBy
<input ng-model="person.lastName" ng-model-options="{ updateOn: 'blur' }>
Заметка
Для этого нужно обновить угловой до 1,3 +