2016-11-22 4 views
1

私は人BMIを計算している3つのフィールドを持つページがあります。私は3つの入力フィールドを持っています:体重、身長、bmi。身長と体重入力フィールドに入力することができ、BMIは自動的に計算されます。私は計算を行うBMIフィールドで動的入力フィールドを使用してコンポーネントにデータを設定するにはどうすればよいですか? (角2)

<input [(ngModel)]="masterdataModel.weight" name="weight" type="text" 
     class="form-control" id="input05" 
     placeholder="75" formControlName="weight"> 

<input [(ngModel)]="masterdataModel.height" name="height" type="text" 
     class="form-control" id="input04" 
     placeholder="185" formControlName="height"> 

:私はngModelは、両方の私の身長と体重フィールドに添付している

が、これは私の、私は私のコンポーネントで作成したモデルで正しくデータが保存されます「値」タグ「値」タグ内の式を有する

<input [(ngModel)]="masterdataModel.bmi" 
     value="{{masterdataModel.weight/(masterdataModel.height/100*masterdataModel.height/100) | number: '1.1-1'}}" 
     type="text" class="form-control form-control-rounded" id="input06" 
     style="text-align: center;" formControlName="bmi" placeholder="BMI" name="bmi"> 

は、入力フィールドに値を変更し、それはngModelを更新しません。フィールドに(ngModelChange)を追加しようとしましたが、どちらも呼び出されません。

どうすればこの問題を適切に解決できますか?どんな助力も非常に感謝しています。 私のコンポーネントでの私のモデルは次のようになります。BMIの入力でそのあとは値を使用する必要があるフォントので

this.masterdataModel = { 
     date_of_visit: null, 
     date_of_birth: null, 
     date_of_pbc_diagnosis: null, 
     gender: null, 
     height: null, 
     weight: null, 
     bmi: null, 
     ama_positive: null 
    } 

答えて

0

あなたは、BMI値の計算を実行し、更新する機能で体重と身長のモデルチェンジに耳を傾ける必要があります= {{}}もうそれは値が

<input [(ngModel)]="mymodel.height" (ngModelChange)="updateBMI($event)"> <input [(ngModel)]="mymodel.weight" (ngModelChange)="updateBMI($event)"> <input [(ngModel)]="mymodel.BMI"> そして、あなたのtypescriptです成分中

public updateBMI($event){ this.mymodel.BMI = ... } 
を変更するたびに更新されます
+0

typescriptからBMIフィールドを更新するにはどうすればよいですか? – Vanquiza

関連する問題