Если вам нужно предварительно рассчитать значение, просто установите значение элемента управления. Не используйте представление (HTML) для передачи значения туда и обратно.
Сначала создайте форму, используя конструктор форм.
Затем установите значение из промежуточной суммы, используя this.addSale.controls.Subtotal.setValue(this.subtotal)
. Делайте это всякий раз, когда изменяется промежуточный итог.
ngOnInit() {
this.service.productList.subscribe(productList => {
this.products = productList;
this.addsale.controls.Subtotal.setValue(this.subtotal)
});
}
Не не использовать sale.Subtotal = this.subtotal
.
let sale = this.addsale.value
уже делает это.
по вашему мнению, используйте базовую реактивную форму привязки.
<input formControlName="Subtotal" id="Subtotal" type="number" class="validate">
Ваше значение должно обновляться всякий раз, когда вы вызываете setValue(this.subtotal)
Пользователь может перезаписать значение курса. Но это может быть перезаписано, если вы добавите больше продуктов или около того. Если вы хотите предотвратить это, вы должны следить за тем, сделал ли пользователь это, и больше не обновлять значение новым промежуточным итогом.
Рабочая демонстрация на основе демонстрации, предоставленной вами в комментарии.