无论如何,我可以将两个模型值绑定到一个输入字段吗?
假设我有输入字段,我希望它是范围内两个变量的值,如:
<input type="text" model="sn_number; id" >
答案 0 :(得分:135)
你不能,但有一些解决方法。
<input type="text"
ng-model="sn_number"
ng-change="id=sn_number"/>
$scope.$watch('sn_number', function(v){
$scope.id = v;
});
如果您想让它们保持同步,您还需要关注id
中的更改。
答案 1 :(得分:11)
你可以立即绑定字段,不仅仅是在ng-change中,实际上它不是数据绑定,它唯一的角度表达式
<label>Name</label>
<input type="text" ng-model="name" value="{{name}}"/>
<label>Key</label>
<input type="text" ng-model="key" value="{{key=name}}" />
&#13;
答案 2 :(得分:7)
将输入绑定到模型中的两个变量是没有意义的。绑定有两种方式,因此如果更新模型,则更新字段,反之亦然。如果你要绑定两个变量,那么真正的单一来源是什么?
但是,您可以使用ng-change来调用控制器上的方法,该方法可以在字段更改时设置两个变量。
答案 3 :(得分:0)
使用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'}">