75

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

假设我有输入字段,我想成为范围内两个变量的值,例如:

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

4 回答 4

140

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

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如果您想让它们保持同步,您还需要注意变化。

这里的例子

于 2012-12-15T08:21:34.413 回答
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}}" />

于 2015-11-28T09:26:39.017 回答
7

将输入绑定到模型中的两个变量是没有意义的。绑定是双向的,所以如果模型更新,字段也会更新,反之亦然。如果您要绑定到两个变量,那么唯一的事实来源是什么?

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

于 2014-04-30T21:11:36.137 回答
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'}">
于 2015-01-04T07:19:55.120 回答