Как я могу получить общую стоимость билета, если я изменил количество человек?
HTML-код:
<div class = "row">
<div class = "col-md-6">
<label for = "person">Person</label>
<div class = "form-group">
<input type = "number" class = "form-control" formControlName = "person" id = "input" (change) = "countPrice($event)">
</div>
</div>
<div class = "row">
<div class = "col-md-6">
<label for = "price">Price</label>
<div class = "form-group">
<input type = "number" class = "form-control" id = "output" formControlName = "price" (change) = "countPrice($event)">>
</div>
</div>
</div>
машинописный код:
onDestination(eve) {
this.http.post(environment.api_url + `/admin/get_price`, {
"from_city": this.r.from_city.value,
"to_city": this.r.to_city.value,
}).subscribe(data => {
console.info(data);
this.price = data['data']['price'];
console.info(this.price);
this.bookingForm.patchValue({
'price': this.price
});
})
}
countPrice(event) {
}
Я хочу отобразить общую цену. Умножая его на общее количество людей. Я не знаю, как получить цену из события верхнего изменения. Пожалуйста, помогите мне решить эту проблему.
Похоже, valueChanges
может прийти на помощь.
this.bookingForm.get('person').valueChanges.subscribe(num => this.countPrice(num));
Затем countPrice()
может реализовать и вернуть вычисление:
countPrice(totalPeople: number): number {
return this.price * totalPeople;
}
https://angular.io/guide/reactive-forms#managing-control-values
спасибо, сэр, у меня все работает. еще раз спасибо
Старайтесь не публиковать всю страницу, а размещайте только соответствующие части вашей проблемы, такой большой код, опубликованный для небольшой проблемы, отпугивает людей даже от его чтения.