Как получить данные списка в модальном режиме?

#angular #typescript #modal-dialog

Вопрос:

Я хочу получить listCategorie из getcategorie функции и поместить ее в свой модальный, но она пуста! как я могу это исправить ?

вот это мой код:

 getcategorie() {  this.LCategorieService.getCategories(this.id).then((res )=gt; {  this.listCategorie = res;  })  }    async addNoteModal() {   const dialogConfig = new MatDialogConfig();  dialogConfig.disableClose = false;  dialogConfig.autoFocus = true;  dialogConfig.data = {  ismodal: true,  idExamen: this.id,  list:this.listCategorie ,    }; console.log('aaaaaa',this.list);    this.dialog.open(NoteModalComponent, dialogConfig);  try {  await this.getcategorie();  } catch (error) {  console.error(" failed", error);  }  }   

LCategorieService Сервис:

 getCategories(id: string): Promiselt;L_ExamenCategorie[]gt; {  const response = this.httpClient.getlt;L_ExamenCategorie[]gt;(this.baseUrl   '/findcategories/'   id).toPromise();  return response;  }  

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

1. Может быть, также показать LCategorieService ?

2. @MikeOne Готово !

3. Верно. Итак: getcategorie() { верните это. LCategorieService.getкатегории(this.id) } а затем в вашей функции addNoteModal добавьте const listCat = ждите этого.getcategorie(); и добавьте listCat в свои данные (список: listCat)

4. @MikeOne Большое тебе спасибо! это сработало !!

Ответ №1:

Вам нужно позвонить getcategorie() до звонка addNoteModal()

 async addNoteModal() {  try {  await this.getcategorie();  } catch (error) {  console.error(" failed", error);  }   const dialogConfig = new MatDialogConfig();  dialogConfig.disableClose = false;  dialogConfig.autoFocus = true;  dialogConfig.data = {  ismodal: true,  idExamen: this.id,  list:this.listCategorie ,  };     this.dialog.open(NoteModalComponent, dialogConfig);   }   

В вашем NoteModalComponent случае вам нужно получить эти данные

 data: any;  constructor(  public dialogRef: MatDialogReflt;NoteModalComponentgt;,  @Inject(MAT_DIALOG_DATA) public data: any ) {  this.data = data.list }