一个输入字段上有多个ng模型?

时间:2015-04-04 15:23:16

标签: angularjs forms angular-ngmodel

我有一个表单和一个项目列表。 我使用ng-model="searchFor"来适当地过滤掉项目列表(这部分工作正常),但我也希望"提交"过滤掉的项目 - 在输入字段上也需要ng-model="adding_item.name"(我认为)。

您可以在一个输入字段中拥有多个ng-models吗? 还有另一种解决方法吗?

2 个答案:

答案 0 :(得分:10)

尝试使用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>
&#13;
&#13;
&#13;

答案 1 :(得分:6)

不,ngModel不应该做这样的事情,此时最好从视图开始重新定位逻辑。对于此方案,您可以使用getterSetter选项:

https://docs.angularjs.org/api/ng/directive/ngModel#binding-to-a-getter-setter

如果没有看到代码,很难提出实质性的建议。