Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 双输入角多路应用_Javascript_Angular_Angular4 Forms - Fatal编程技术网

Javascript 双输入角多路应用

Javascript 双输入角多路应用,javascript,angular,angular4-forms,Javascript,Angular,Angular4 Forms,我想从两个输入(NUM\u PRECIO\u UNITARIO和NUM\u PORCENTAJE\u IVA)中获取值,并在其他输入(NUM\u VALOR\u IVA)中以二元方式显示多重应用的结果,实际上这是我的html file.html <div class="form-group col-sm-5"> <mat-form-field> <input matInput type="number"

我想从两个输入(NUM\u PRECIO\u UNITARIONUM\u PORCENTAJE\u IVA)中获取值,并在其他输入(NUM\u VALOR\u IVA)中以二元方式显示多重应用的结果,实际上这是我的html

file.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>  
这是前面的结果

但在我的形式中,价值不会改变


在函数中创建,将组件类中的值相乘

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模板中,调用该函数:

<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>


注:如果您使用的是
FormBuilder
,请不要将
ngModel
用于表单输入(您可以将其用于同一页面上的其他内容)。

您的模板只是呈现结果。如果你想更改模型,你需要在组件中执行代码来更改模型值,或者你需要接受用户的输入(例如使用[(ngModel)]-但是仅仅在屏幕上渲染一些东西并不会改变模型中的任何内容。请你能更详细地解释解决方案吗?我是Angular新手,非常感谢!这个有用!!非常感谢,它工作得非常好!!在这里,我将完整的解决方案留给拥有samecalcResult(){const o=this.formDetalleOC.get('NUM_PRECIO_UNITARIO').value*this.formDetalleOC.get('NUM_procentaje_IVA').value;this.formDetalleOC.patchValue({NUM VALOR_IVA:o})返回o}
<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>