如何将2个模型绑定到Angular中的一个input字段?

无论如何,我可以将两个模型值绑定到一个input字段?

假设我有一个input字段,我想将它作为范围内的两个variables的值:

<input type="text" model="sn_number; id" > 

你不能,但有一些解决方法。

1.使用ngChange更新其他模型

 <input type="text" ng-model="sn_number" ng-change="id=sn_number"/> 

2.你可以看一个模型,当有变化时,更新另一个模型

 $scope.$watch('sn_number', function(v){ $scope.id = v; }); 

如果你想保持同步,你还需要注意id变化。

这里的例子

你可以立即绑定字段,不仅在ng-change中,实际上它不是数据绑定,它是唯一的angular度expression式

  <labael>Name</labael> <input type="text" ng-model="name" value="{{name}}"/> <labael>Key</labael> <input type="text" ng-model="key" value="{{key=name}}" /> 

将input绑定到模型中的两个variables是没有意义的。 绑定是双向的,所以如果模型被更新,字段被更新,反之亦然。 如果你要绑定两个variables,那么单一的事实来源是什么?

但是,您可以使用ng-change来调用控制器上的一个方法,该方法可以在字段更改时设置两个variables。

用ng-init

 <div ng-controller="ctrl" ng-init="model = { year: '2013', month:'09'}"> 

要么

 <div ng-repeat="c in contact" ng-init="likes = { food: 'steak', drink:'coke'}">