75

2 つのモデル値を 1 つの入力フィールドにバインドできる方法はありますか?

次のようなスコープ内の2つの変数の値にしたい入力フィールドがあるとします。

<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 に答える
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 に答える