В моем файле TypeScript определена функция, которая подписывается на функцию ValueChanges элемента управления формы в реактивной форме (Angular 6).
Однако я вызываю эту функцию в методе ngOnInit (), но каким-то образомэто не происходит внутри сервисного вызова в этом методе.И затем, когда я иду на свой экран, который содержит элемент управления формы и начинаю что-то печатать, он не возвращает никакого результата (так как вызов службы не вызывается), но если я размываю из этого formControl и снова возвращаюсь к этому элементу управления формы, и начинаюнабрав, он вернет результат во втором кадре.Не ясно, что мне не хватает в потоке.
myrequestComponent.ts
searchUsersDetails() {
console.log('Inside method');
this.requestForm.controls.requestedFor.valueChanges.subscribe(
term => {
if (term !== '') {
console.log('term::' + term);
this.dataService.searchUsers(term).subscribe(
data => {
this.userDetails = data;
const userNamesTmp = new Array(this.userDetails.length);
this.userDetails.forEach(function (userDetailTmp) {
userNamesTmp.push(userDetailTmp.name);
});
this.userNames = userNamesTmp;
});
}
});
}
Я вызываю вышеуказанный метод из метода ngOnInit () в файле typeScript и FormControlв моем HTML-файле:
<td>
<kendo-autocomplete formControlName="requestedFor" class="form-control" placeholder="Type User" style="height:3.25rem" [data]="this.userNames"
(blur)="this.populateOtherFields()" required >
</kendo-autocomplete>
</td>