Angular中*ngFor和MatDialog的问题
创始人
2024-10-31 00:01:09
0

问题1:在Angular中使用*ngFor遍历数据时,如何在MatDialog中传递当前循环的对象?

解决方法:

  1. 在循环中为每个对象添加一个点击事件,将当前对象传递给MatDialog。
{{ item.name }}
  1. 在组件中定义一个openDialog方法,并将当前对象传递给MatDialog。
import { Component, Inject } from '@angular/core';
import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';

@Component({
  ...
})
export class YourComponent {

  constructor(public dialog: MatDialog) {}

  openDialog(item: any): void {
    const dialogRef = this.dialog.open(YourDialogComponent, {
      data: item
    });

    dialogRef.afterClosed().subscribe(result => {
      console.log('The dialog was closed');
    });
  }
}
  1. 在对话框组件中通过MAT_DIALOG_DATA注入当前对象。
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';

@Component({
  ...
})
export class YourDialogComponent {

  constructor(@Inject(MAT_DIALOG_DATA) public data: any) {}

}

问题2:在MatDialog中如何获取到循环中每个对象的索引值?

解决方法:

  1. 在循环中使用index来获取当前对象的索引值。
{{ item.name }}
  1. 在openDialog方法中将索引值传递给MatDialog。
openDialog(item: any, index: number): void {
  const dialogRef = this.dialog.open(YourDialogComponent, {
    data: { item, index }
  });

  dialogRef.afterClosed().subscribe(result => {
    console.log('The dialog was closed');
  });
}
  1. 在对话框组件中通过MAT_DIALOG_DATA注入包含对象和索引的数据。
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';

@Component({
  ...
})
export class YourDialogComponent {

  constructor(@Inject(MAT_DIALOG_DATA) public data: any) {
    console.log(data.item); // 当前对象
    console.log(data.index); // 当前索引值
  }

}

相关内容

热门资讯

透视中牌率“wepoker免费... 透视中牌率“wepoker免费脚本”开挂(透视)辅助软件(黑科技教程有挂辅助)您好:wepoker免...
开挂辅助插件"wpk... 开挂辅助插件"wpk透视插件"开挂(透视)辅助平台(有挂规律)wpk透视插件ai黑科技系统规律教程开...
开挂辅助!蜀山手游全自动辅助,... 开挂辅助!蜀山手游全自动辅助,德州hhpoker是真的吗(透视)开挂辅助安装(有挂技巧);一、蜀山手...
透视玄学“wepoker怎么挂... 是一款专注玩家量身打造的游戏记牌类型软件,在这款游戏中我们可以记录下每张牌的数量以便更好的进行发挥。...
开挂辅助!四川血战到底辅助,w... 开挂辅助!四川血战到底辅助,wepoker分析(透视)开挂辅助插件(有挂细节);超受欢迎的四川血战到...
开挂辅助插件"wep... 开挂辅助插件"wepoker正确养号方法"开挂(透视)辅助平台(发现有挂)您好:wepoker正确养...
透视插件“大菠萝辅助器”开挂(... 透视插件“大菠萝辅助器”开挂(透视)辅助软件(实用技巧有挂技巧)大菠萝辅助器ai黑科技系统规律教程开...
开挂辅助神器"佛手大... 您好:佛手大菠萝辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
开挂辅助!大菠萝挂机辅助,hh... 开挂辅助!大菠萝挂机辅助,hhpoker必备开挂(透视)开挂辅助下载(真的有挂);人气非常高,ai更...
开挂辅助平台"epo... 开挂辅助平台"epoker免费透视脚本"开挂(透视)辅助神器(有挂教学)【无需打开直接搜索加薇136...