Angular 区分由同一父对象创建的两个角度组件
我有一个仅显示消息的模态组件和一个Angular 区分由同一父对象创建的两个角度组件,angular,bootstrap-modal,Angular,Bootstrap Modal,我有一个仅显示消息的模态组件和一个接受按钮 accept按钮将执行一项功能,具体取决于给您打电话的人 同一个组件可以创建多个模态(在不同的时刻显示) 我遇到的问题是,要打开模式,我必须通过其id调用它,但所有模式都是使用相同的id创建的。我曾想过通过@Input decorator为每个模式创建一个唯一的id,但由于它是一个大型应用程序,两个开发人员可能会以相同的方式调用它并产生冲突 如何为每个元素创建一个唯一的id,而不必将其作为@Input传递 我试着做一个示例,但是jquery有问题 无论
接受按钮
accept按钮将执行一项功能,具体取决于给您打电话的人
同一个组件可以创建多个模态(在不同的时刻显示)
我遇到的问题是,要打开模式,我必须通过其id调用它,但所有模式都是使用相同的id创建的。我曾想过通过@Input decorator
为每个模式创建一个唯一的id,但由于它是一个大型应用程序,两个开发人员可能会以相同的方式调用它并产生冲突
如何为每个元素创建一个唯一的id,而不必将其作为@Input
传递
我试着做一个示例,但是jquery有问题
无论如何,这是一次尝试
我不完全理解您的问题,但您可以将数据传递给对话框(在本例中为id)。像这样的,
parent.component.ts
dialog.component.ts
构造函数(
公共dialogRef:MatDialogRef,
@注入(MAT_对话框_数据)公共id:编号
) { }
onAccept(){
this.dialogRef.close(this.id);
}
我找到了一个解决方案,尽管它看起来有些混乱
在指令中,我添加了一个ngif,这样它只有在某个特定值时才可用
<confirmation-modal *ngIf="expression == 'roles'" [header]="'ARE_YOU_SURE'" [message]="'SENDED_MESSAGE'" (launchAction)="modal1Accepted()">
为什么模态对动作负责?它对动作不负责。。。只有emmit的回应和家长做的行动。。。但是我需要知道哪个模态会发射它。非常感谢,但是我想有一个像这样的组件
,也许你的可以工作,但我看起来不那么优雅,也许doSomething()在接近时会跳跳跳,即使它不被接受。我试着做一次闪电战。。。我附上主要的询问。
constructor(
public dialogRef: MatDialogRef<DialogChacraFormComponent>,
@Inject(MAT_DIALOG_DATA) public id: number
) { }
onAccept() {
this.dialogRef.close(this.id);
}
<confirmation-modal *ngIf="expression == 'roles'" [header]="'ARE_YOU_SURE'" [message]="'SENDED_MESSAGE'" (launchAction)="modal1Accepted()">
openRolesModal() {
this.expression = 'roles';
let modal = '#selectAttributtesModal';
setTimeout(() => $(modal).modal('show'), 100);
}