gpt4 book ai didi

angular - Angular 中的事件数组

转载 作者:行者123 更新时间:2023-12-02 18:58:00 25 4
gpt4 key购买 nike

我在我的项目中使用 Angular 5。我正在尝试从子组件发出事件,例如

@Output studentUpdated:EventEmitter<any> = new EventEmitter()
updated(e){
this.studentUpdated.emit(e);
}

并在父组件中列出,例如

<student (studentUpdated)="showSuccess($event)" />

按预期工作。然而,在我的学生组件中,我需要实现几个事件。例如保存、更新、删除、确认、计划...等

我在想,我们是否可以初始化事件数组并根据需要执行它们,而不是每行编写一个事件并单独调用它们。例如

  @Output() events:EventEmitter<any>[] = []
for(var keyNum in arrayOfEvents)
{
var key = arrayOfEvents[keyNum];
this.events.push(new EventEmitter())
}

然后,在某些事件上,我们根据索引发出事件。

this.events[0].emit(e)

如果可以的话我们该如何做到这一点以及我们如何在父组件上监听该事件?

最佳答案

您可以尝试使用另一种方法来解决您的问题,例如,您可以以描述您正在执行的操作类型的方式重组输出事件数据

interface CustomEventData {
kind : string,
value: any
}

这样你就只有 eventEmitter 输出

@Output action:EventEmitter<any> = new EventEmitter()

updated(e){
this.action.emit({kind "updated", value : e });
}

在您的父组件中,处理事件的函数将根据收到的事件类型使用react

showSuccess({ kind , value}) {
switch(kind)
case "updated" ...
}

关于angular - Angular 中的事件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49817834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com