Я совершенно новичок от ie до Angular. Как-то изо всех сил пытаясь заставить начальный код работать, я застрял здесь.
Пример использования: Показать панель загрузки. Получить список торговцев наблюдаемому. Остановить загрузку панели.
Проблема:
fetchUsers($event) {
let searchTerm = $event.term;
if (searchTerm.length > 3) {
this.isLoading=true;
this.people$ = null;
this.userService.getMerchantsBySearch(searchTerm);
--> this.isLoading=false;
}
}
this.isLoading становится ложным даже до получения ответа от вызова getMerchantsBySearch. Я знаю, что мне нужно будет выполнить этот шаг в обратном вызове, но я не знаю, как это сделать.
Я хочу сделать что-то подобное, но мне чего-то не хватает. Как это сделать правильно?
fetchUsers($event) {
let searchTerm = $event.term;
if (searchTerm.length > 3) {
this.isLoading=true;
this.people$ = null;
this.userService.getMerchantsBySearch(searchTerm).subscribe(
res={
---> this.people$ =res;
---> this.isLoading=false;
}
);
}
}
dashboard.component.ts
people$: Observable<IMerchant[]>;
fetchUsers($event) {
let searchTerm = $event.term;
if (searchTerm.length > 3) {
this.isLoading=true;
this.people$ = null;
this.userService.getMerchantsBySearch(searchTerm);
this.isLoading=false;
}
}
user.service.ts
getMerchantProfile(id){
var options = this.getOptions();
return this.http.get<IMerchant[]>(environment.APIBaseURL+"/getMerchantProfile/"+id,options);
}
merchant.model. тс
export interface IMerchant{
email:String,
mobile : String,
password: String,
businessName : String,
otp:Number,
info:string,
url:String
}