Машинописный текст: вычисление события onChange - PullRequest
0 голосов
/ 10 апреля 2019

Как узнать общую стоимость билета, если я изменил количество человек?

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.log(data);
    this.price = data['data']['price'];
    console.log(this.price);
    this.bookingForm.patchValue({
      'price': this.price
    });
  })
}
countPrice(event) {

}

Я хочу отобразить общую стоимость.Умножая это на общее количество людей.Я не знаю, как получить цену от события верхнего изменения.Пожалуйста, кто-нибудь, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 10 апреля 2019

Звучит так, как будто 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...