Переменная не устанавливается после метода подписки - PullRequest
0 голосов
/ 16 мая 2019

У меня событие на входе после потери фокуса на входе. Я пытаюсь получить данные из API, данные верны, но после второго фокуса на вводе, после первого ничего не устанавливается.

мой сервис

public getContractorByNIP(NIP: string) {
    let httpParam = new HttpParams().set('NIP', NIP);
    return this.httpClient.get<GpContractor>('http://localhost:8080/InvoiceAPI/invoice/contractor', {params: httpParam});
  }

мой компонент

onFocusLost() {
    if (this.contractorNIP.valid){
      this.getContractorByNIP(this.contractorNIP.value.toString());
    }
  }

  getContractorByNIP(NIP: string) {
      this.contractorService.getContractorByNIP(NIP)
        .subscribe((data) => this.contractor = data);
  }

мой HTML

<div class="col-md-6">
 <mat-form-field>
  <input matInput placeholder="NIP kontrahenta" formControlName="gpContractorNIP" class="matIn" (focusout)="onFocusLost()" minlength="10" maxlength="10" pattern="[0-9]{10}$">
 </mat-form-field>
</div>

Я ожидаю установить данные в первый раз после потери фокуса.

1 Ответ

0 голосов
/ 16 мая 2019

this.contractorNIP.value.toString () должно быть this.gpContractorNIP.value.toString ()

Также вы использовали formControl, поэтому вам нужно будет получить значение модели, подписавшись на valueOnChanges.gpContractorNIP.

...