ng-выберите асинхронный канал, не работающий с данными json в angular

#javascript #angular

Вопрос:

Я использую выпадающий список ng-select с каналом «асинхронный».

это мой html-код

 <ng-select [items]="branchModel$ | async" bindLabel="branchName" required (change)="getPublicBankInfo($event,lockerform);" name="branchName" bindValue="branchCode" placeholder="Select Branch" [(ngModel)]="reserve.branchCode">
</ng-select>
 

это код javascript для этого

 ngOnInit(): void {
  loadPublicBranches

}

loadPublicBranches() {
  this.myLockerEditService.getBranchName().subscribe(data => {
    this.branchModel$ = data['data']['branchArr'];
  });
}
 

Я вызываю функцию loadPublicBranches в oninit.

Это служебный файл.

 export interface Person {
  branchCode: string;
  branchName: string;
  contactNo: string;
  managerEmail: string;
}

getBranchName(): Observable < Person[] > {
  return this.http.get < Person[] > (url.getPublicBranches);
}
 

Я использую приведенный ниже json для заполнения выпадающих данных. как я изменяю функцию «loadPublicBranches ()» в соответствии с приведенным ниже форматом json

введите описание изображения здесь

Комментарии:

1. эта.branchModel$ Не является наблюдаемой. Чтобы это сработало, вам нужно что-то вроде этого.branchModel$ = this.myLockerEditService.getBranchName().pipe(карта( (значение: любое) => значение.данные.branchArr))