Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 函数传递的角度对话框_Angular_Dialog - Fatal编程技术网

Angular 函数传递的角度对话框

Angular 函数传递的角度对话框,angular,dialog,Angular,Dialog,我有一个问题。我有一些组件,其中一个接收带有数组对象的输入,这个对象是{name:'buttonname',click:()=>{}。我需要在click属性中传递一个函数,该函数将打开对话框组件 我不知道怎么做。我尝试创建另一个类MatDialog,但是我可以实例化这个类,因为MatDialog有参数 项目示例 请帮帮我 这个问题可以通过使用继承来解决,例如,您将获得以下代码: abstract class ConfigType { name: string data:

我有一个问题。我有一些组件,其中一个接收带有数组对象的输入,这个对象是
{name:'buttonname',click:()=>{}
。我需要在click属性中传递一个函数,该函数将打开对话框组件

我不知道怎么做。我尝试创建另一个类MatDialog,但是我可以实例化这个类,因为MatDialog有参数

项目示例

请帮帮我


这个问题可以通过使用继承来解决,例如,您将获得以下代码:

abstract class ConfigType {
    name: string
    data: string;
    abstract clickAction(): void;
}
然后,您使用如下特定的clickAction逻辑继承该类:

class DialogOpen extends ConfigType {
    data = "some param";
    clickAction() {
      console.log("Dialog opened " + this.data);
    }
 }
class ConsoleLog extends ConfigType {
    clickAction() {
      console.log("Barcode created");
    }
 }
或日志的类,如下所示:

class DialogOpen extends ConfigType {
    data = "some param";
    clickAction() {
      console.log("Dialog opened " + this.data);
    }
 }
class ConsoleLog extends ConfigType {
    clickAction() {
      console.log("Barcode created");
    }
 }
然后,您可以在主组件中使用此函数,如下所示

HTML:

{{btn.name}

谢谢您的帮助。但问题是MatDialog通常在组件构造函数中注入依赖性。我将如何在一个简单的类中使用组件MatDialog?您可以使用构造函数将其传递到类中,甚至可以将其直接注入类中。不过我不确定