如何将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'}">