2017-12-22 2 views
1

は実際にこれが私のhtmlMultplication二つの入力

ファイルです。 HTML

<div class="form-group col-sm-5"> 
    <mat-form-field>      
     <input matInput type="number" formControlName="NUM_VALOR_IVA" placeholder="Valor IVA" value="{{formDetalleOC.get('NUM_PRECIO_UNITARIO').value * formDetalleOC.get('NUM_PORCENTAJE_IVA').value}}" required>     
    </mat-form-field> 
</div> 

file.ts

ngOnInit() { 
    this.createControlItemOC 
} 

createControlItemOC() { 
    this.formDetalleOC = this.fb.group({   
     NUM_PRECIO_UNITARIO: 0, 
     NUM_PORCENTAJE_IVA: 0, 
     NUM_VALOR_IVA: 0, 
    }) 
} 

これはフロント

enter image description here

に結果であるが、私の形で値が

enter image description here

+0

あなたのテンプレートはただの結果をレンダリングしています。モデルを変更したい場合は、モデル値を変更するためにコンポーネント内のコードを実行する必要があります(例えば、[(ngModel)]を使用して)ユーザーからの入力を受け入れる必要があります。モデル内の何かを変更します。 –

+0

あなたは私に詳細を説明してくれますか?私は角度が新しいです –

答えて

2

を変更しないで、あなたのコンポーネントのクラス

にこれらの値を乗算する機能で作成します。
calcResult() { 
    const o = this.formDetalleOC.get('NUM_PRECIO_UNITARIO').value * this.formDetalleOC.get('NUM_PORCENTAJE_IVA').value; 
    this.formDetalleOC.patchValue({ NUM_VALOR_IVA: o }); 
    return o; 
} 

HTMLテンプレートでは、fu nction:

<div class="form-group col-sm-5"> 
    <mat-form-field>      
     <input matInput type="number" formControlName="NUM_VALOR_IVA" placeholder="Valor IVA" [value]="calcResult()" required>     
    </mat-form-field> 
</div> 

PS:あなたはFormBuilderを使用している場合は、あなたのフォーム入力用ngModelを使用していない(あなたが同じページ上の他のもののためにそれを使用することができます)。

+0

ありがとう!これは動作します! ありがとう、完璧に動作しました!ここでは、同じものを持つ人のための完全なソリューションを残しておきます。 –

+1

calcResult(){ const o = this.formDetalleOC.get( 'NUM_PRECIO_UNITARIO')。* this.formDetalleOC.get( 'NUM_PORCENTAJE_IVA')。 this.formDetalleOC.patchValue({ NUM_VALOR_IVA: }) 返信o } –

+0

回答を更新します;) –