我有以下角度组件:
import { Component, OnInit , EventEmitter , Output } from '@angular/core';
@Component({
selector: 'app-corkpit',
templateUrl: './corkpit.component.html',
styleUrls: ['./corkpit.component.css']
})
export class CorkpitComponent implements OnInit {
/*
@Output is used when u need to emit an event from a child
component to the parent (Opp. to what @Input does in the server component !)
*/
@Output() serverCreated = new EventEmitter<{ serverName: string , serverContent: string }>();
@Output() blueprintCreated = new EventEmitter<{ serverName: string , serverContent: string }>();
newServerName = '';
newServerContent = '';
constructor() { }
ngOnInit() {
}
onAddServer() {
this.serverCreated.emit({
serverName : this.newServerName ,
serverContent: this.newServerContent
})
}
onAddBlueprint() {
this.blueprintCreated.emit({
serverName : this.newServerName ,
serverContent: this.newServerContent
})
}
}
正如你所看到的,我有两个功能,我发出事件,如下:
onAddServer() {
this.serverCreated.emit({
serverName : this.newServerName ,
serverContent: this.newServerContent
})
}
onAddBlueprint() {
this.blueprintCreated.emit({
serverName : this.newServerName ,
serverContent: this.newServerContent
})
}
现在在父组件的模板文件中,我有以下标记:
<app-corkpit
(serverCreated)="onServerAdded($event)"
(blueprintCreated)="onBlueprintAdded($event)"
></app-corkpit>
在这里,您会看到在激活serverCreated事件时,会调用以下函数:
onServerAdded($event)
该函数有一个传递给它的变量$event
现在,如果我将此$event
改为$data
我的应用程序中断,那么我的问题是这个$event
变量是不是重命名为我喜欢的任何东西?就像在jQuery中,如果一个函数接受一个事件作为一个参数,它可以是event
或只是e
或几乎任何我喜欢的东西。
答案 0 :(得分:2)
除了分配Angular存储库并修改其代码之外,无法重命名$event
。
重命名也没有意义,因为只会让其他人更难理解代码而没有任何值得一提的好处。