【问题标题】:Primeng - dialog service passing data to dialog componentPrimeng - 对话服务将数据传递给对话组件
【发布时间】:2019-06-26 16:07:09
【问题描述】:

使用 PrimeNg 的动态对话示例展示了目标对话如何获取数据并显示。 我可以通过创建一个带有 observables 的服务来将数据传递给对话,但我知道对话服务有一些可用的参数(如数据)可以传递。 对话将如何检索通过服务传递的数据?

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

【问题讨论】:

    标签: typescript components observable primeng


    【解决方案1】:

    父组件内部:

    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}
    });
    

    内部对话框组件:

    export class EmployeeDialogComponent implements OnInit {
    constructor(public ref: DynamicDialogRef, public config: DynamicDialogConfig) { 
         console.log("Data: " + JSON.stringify(config.data.employee));
    }
    ngOnInit() {}
    }
    

    【讨论】:

      【解决方案2】:

      动态对话框在构造函数中有一个传递数据的选项。 例如,

      const ref = this.dialogService.open(MyComponent, {data : myData});

      更新

      您应该在构造函数中注入 DynamicDialogService,然后您可以访问您在对话框中传递的数据

      代码在这里:

      constructor( private dialogService: DynamicDialogService) {}
      

      然后您可以像这样访问和查看您传递的所有数据:

      console.log(this.dialogSerive.data)
      

      【讨论】:

      • 然后你怎么访问data
      • 我将此答案更新为最新版本的primeng services请批准❤❤
      【解决方案3】:

      我有同样的问题。 我删除了:

      providers: [DialogService]
      

      来自我将传递数据的组件(对话框组件)

      【讨论】:

        猜你喜欢
        • 2017-05-07
        • 1970-01-01
        • 2010-09-28
        • 2012-09-23
        • 2020-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-06
        相关资源
        最近更新 更多