Несколько ng-моделей на одном поле ввода?
У меня есть форма и список элементов.
Я использовал ng-model="searchFor"
, чтобы отфильтровать список элементов соответствующим образом (эта часть работает нормально), но я также хочу "отправить" элемент, отфильтрованный, что также потребует ng-model="adding_item.name"
в поле ввода (I думать).
У вас есть несколько ng-models
в одном поле ввода?
Есть ли другой способ?
Ответы
Ответ 1
Попробуйте использовать событие ng-change для захвата значения модели и присвоить его другому элементу ввода с его собственной ng-моделью.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
<input type="text" ng-model="input" ng-change="input1=input;input2=input; " />
<input type="hidden" ng-model="input1" />
<input type="hidden" ng-model="input2" />
<br>Model
<br>{{input | uppercase}}
<br>Model 1
<br>{{input1 | uppercase}}
<br>Model 2
<br>{{input2 | uppercase}}
</div>
Ответ 2
Нет, ngModel не должен был делать такие вещи, на этом этапе лучше начать перемещение логики из представления. Для этого сценария вы можете использовать опцию getterSetter
:
https://docs.angularjs.org/api/ng/directive/ngModel#binding-to-a-getter-setter
Трудно делать существенные предложения, не видя кода.