1. ホーム
  2. angularjs

Angularで1つの入力フィールドに2つのモデルをバインドする方法?

2023-11-20 12:50:50

質問

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

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

<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 の変更も監視する必要があります。

例はこちら