Допустим, у меня есть динамический массив Javascript из базы данных:
customers = [{'id':1, 'name':'John'},{'id':2, 'name':'Tim}, ...]
и входы:
<input type='text' name="forJohnOnly" ng-model="customers[0].name" />
<input type='text' name="forTimOnly" ng-model="customers[1].name" />
Массив поступает из отсортированной базы данных, и Джон всегда является первым элементом. Хотя это работает, мне это не нравится, потому что кто-то может изменить порядок сортировки в базе данных без обновления пользовательского интерфейса, и первый вход теперь содержит имя Тима, что неверно. Этот же массив отправляется обратно на сервер для сохранения в базе данных.
Я пытаюсь сделать что-то вроде ниже, где правильный индекс определяется динамически, без создания дополнительного массива для этой цели и копирования между двумя массивами
<input type='text' name="forJohnOnly" ng-model="customers[where customers.id=1].name" />
<input type='text' name="forTimOnly" ng-model="customers[where customers.id=2].name" /> (need to use id because name can be updated)
Есть идеи?
Обновление:
Пока данные находятся в массиве, текстовые поля не имеют единого макета, такого как сетка.