当前位置: 首页 > 知识库问答 >
问题:

将参数传递到mat对话框打开方法

邢献
2023-03-14

角度7.1,角度材料7.3

我正在尝试调用函数并传递一些值,它提示以下错误

未找到t1的组件工厂。您是否将其添加到@NgModule.entryComponents?

尽管t1包含在入口组件中。但一旦将传递值移除为固定值,它就会工作。

  <button mat-button (click)="openDialog('t1')">T1</button>
  <button mat-button (click)="openDialog('t2')">T2</button>

  openDialog(e) {
    console.log(e);
    const dialogRef = this.dialog.open(e);
    dialogRef.afterClosed().subscribe(result => {
      console.log(`Dialog result: ${result}`);
      dialogRef == null
    });
  }

@Component({
  selector: 't1',
  templateUrl: 't1.html',
})
export class t1 {}

@Component({
  selector: 't2',
  templateUrl: 't2.html',
})
export class t2 {}

但一旦我删除了该值并修复了<code>dialogRef。打开,它工作正常

const dialogRef = this.dialog.open(t1);

共有3个答案

张子墨
2023-03-14

您应该发送变量而不是字符串。它应该是 t1 而不是 “t1”

  <button mat-button (click)="openDialog(t1)">T1</button>
  <button mat-button (click)="openDialog(t2)">T2</button>
public t1 = new t1();
public t2 = new t2();

或者您可以使用< code >模板变量尝试以下方法

  <t1 #test1></t1>
  <t2 #test2></t2>
  <button mat-button (click)="openDialog(test1)">T1</button>
  <button mat-button (click)="openDialog(test2)">T2</button>
毋胜涝
2023-03-14

试试这样的东西

constructor(
    public dialogRef: MatDialogRef<Component>,
    private dialog: MatDialog,
  ) { }


  openDialog(t1) {
    const dialogRef = this.dialog.open(NameComponent, {
      data: { t1 }
    });
    dialogRef.afterClosed().subscribe(data => {

  }

在对话框组件中检索时

 @Inject(MAT_DIALOG_DATA) public data: any,

希望它有效

阎鹏
2023-03-14

这对我有用。你也可以参考这个链接。环

您可以使用<code>对话框ref.componentInstance。myProperty='some data'设置组件上的数据。

您可能需要类似这样的东西:

let dialogRef = this.dialog.open(DialogComponent, {
            disableClose: true,
        });
dialogRef.componentInstance.name = 'Sunil';

然后在您的DialogComponent中,您需要添加您的name属性:

public name: string;
 类似资料:
  • 问题内容: 我正在开发一个网站,在该网站上,我在一个表中列出了来自数据库查询的一些预订,并带有来取消特定行上的预订,例如: 我的预订 最好的是,如果我可以使用弹出一条消息,询问用户是否确定要取消预订。我一直在尝试使其工作,但我一直坚持如何创建一个接受参数的jQuery函数,以便我可以替换 与 。 然后,该函数将打开对话框,并将参数10传递给对话框,以便如果用户单击“是”,它将发布href: 我已经

  • 如何将数据从活动传递到对话框? 有关更多详细信息,请参阅下图:

  • 我正在为webste构建一个功能,用户可以在其中重置密码。他收到一封电子邮件,其中包含URL中生成的令牌。单击此链接时,用户将被发送到/Reset页面。该页的Get方法如下:

  • 我正在使用AngularMaterial2的对话框。 我想将数据传递给打开的组件。以下是单击按钮打开对话框的方式 在文档页面上有数据属性,但我在已安装的软件包中检查了MdDialogConfig。 配置类中没有数据属性。 现在我如何通过数据的访问?

  • 本文向大家介绍Androd自定义对话框Dialog视图及参数传递的实现方法,包括了Androd自定义对话框Dialog视图及参数传递的实现方法的使用技巧和注意事项,需要的朋友参考一下 今天给大家讲讲有关自定义对话框的相关内容,前面两篇都在在利用系统提供的函数来实现对话框,但局限性太大,当我们想自己定义视图的时候,就不能利用系统函数了,就需要我们这里的自定义对话框了,有关自定义对话框的东东,以前有写

  • 问题内容: 我很好奇Go中是否有可能。我有多种方法的类型。是否可以有一个函数,该函数需要一个方法参数,然后将其称为类型? 这是我想要的一个小例子: Go认为type 有一个称为的方法,而不是用传入的方法名称替换它。 问题答案: 是的,有可能。您有2(3)个选项: 规范:方法表达式 该表达式产生的功能与第一个参数等效,但具有一个显式接收器。它有签名。 在这里,方法接收器是显式的。您只需将方法名称(具