4

ユーザーが「フィート」と「インチ」の 2 つの個別のフィールドとして編集できるようにする「高さ」プロパティを持つモデルがありますが、インチで測定された単一のプロパティ「高さ」にマップします。

フォームは次のようになります。

これらのフィールドと単一の「高さ」プロパティとの間の双方向バインディングを作成する最良の方法は何ですか?

4

2 に答える 2

3

@Markの例を少し変更し、$ watchを削除しました、それは過剰だと思います

HTML

<input type="number" ng-model="calc.feet">
<input type="number" ng-model="calc.inches">
<br>{{calc.height()}}

コントローラ

$scope.calc = {
  feet: 2,
  inches: 5,
  height: function () { return this.feet * 12 + this.inches }
};

プランカー

于 2013-01-31T04:56:19.833 に答える
3

HTML:

<input type="number" ng-model="feet">
<input type="number" ng-model="inches">
<br>{{height}}

コントローラ:

$scope.feet = 2;
$scope.inches = 5;
$scope.$watch('feet * 12 + inches', function(value){
  $scope.height = value;
})

プランク

于 2013-01-31T04:05:00.933 に答える