L'exemple de dialogue dynamique de PrimeNg montre comment le dialogue de destination peut obtenir des données et s'afficher. Je peux passer par la création d'un service avec des observables pour transmettre les données au dialogue, mais je sais que certains arguments sont disponibles pour le service de dialogue (comme les données) qui peuvent être transmis. Comment le dialogue récupérerait-il les données transmises via le service?
https://www.primefaces.org/primeng/#/dynamicdialog https://github.com/ primefaces / primeng / blob / master / src / app / components / dynamicdialog / dynamicdialog-config.ts https://github.com/primefaces/ primeng / blob / master / src / app / components / dynamicdialog / dialogservice.ts
3 Réponses :
Le dialogue dynamique a une option dans le constructeur pour transmettre des données. exemple,
const ref = this.dialogService.open (MyComponent, {data: myData});
Et ensuite, comment accédez-vous aux données
?
J'ai eu le même problème. J'ai supprimé:
providers: [DialogService]
du composant auquel je passerai des données (composant de dialogue)
Composant intérieur parent:
export class EmployeeDialogComponent implements OnInit { constructor(public ref: DynamicDialogRef, public config: DynamicDialogConfig) { console.log("Data: " + JSON.stringify(config.data.employee)); } ngOnInit() {} }
Composant intérieur de la boîte de dialogue:
this.dynamicDialogRef = this.dialogService.open(EmployeeDialogComponent, { header: 'View Employee Details for - ' + this.employee.name, width: '90%', contentStyle: {"min-height": "800px", "overflow": "auto"}, baseZIndex: 10000, data: {employee: this.employee} });
p>