Я использую директиву ng-model-options, чтобы гарантировать, что я могу завершить ввод значения до того, как список переупорядочится, а td, содержащий ввод, скрывается.
Значение отражается в представлении, однако оно не отражается в модели, пока я не нажму на одноуровневый элемент td, который отображает данные char.initiative.
В документации AngularJS предлагается, чтобы я вызывал ngModel.NgModelController. Это также предполагает, что самый простой способ сослаться на метод элемента управления ngModel.NgModelController - это убедиться, что вход помещен внутри элемента формы, который имеет атрибут name. Проблема в том, что я не использую элемент формы.
Как я могу вызвать ngModel.NgModelController для синхронизации моего представления и модели данных без использования элемента формы? Есть ли другой способ синхронизации моего представления и модели, который не требует использования ngModel.NgModelController?
<tr ng-repeat="char in localChars | orderBy: '-initiative'">
<td>{{char.name}}</td>
<td ng-hide='char.show' ng-click='change(char)'>{{char.initiative}}</td>
<td ng-show='char.show'><input ng-blur='change(char)' ng-model='char.initiative' ng-model-options="{ updateOn: 'blur' }" type="text"></td>
</tr>