#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 }