Angular 如何设置事件发射器的初始值
我有一个“行动”。如何设置初始值?例如,在我将其更改为“methodY”之前,它始终是“methodX” 大概是这样的:Angular 如何设置事件发射器的初始值,angular,typescript,Angular,Typescript,我有一个“行动”。如何设置初始值?例如,在我将其更改为“methodY”之前,它始终是“methodX” 大概是这样的: export class FieldComponent { @Output() action: EventEmitter<any> = methodX; constructor() { } public methodX() { } } 导出类字段组件{ @Output()操作:EventEmitter=methodX; 构造函数(){ }
export class FieldComponent {
@Output() action: EventEmitter<any> = methodX;
constructor() {
}
public methodX() {
}
}
导出类字段组件{
@Output()操作:EventEmitter=methodX;
构造函数(){
}
公共方法x(){
}
}
测试此项:
@Output() action: EventEmitter<any> = new EventEmitter<any>();
ngOnInit() {
this.action.emit({{initial value}});
}
public methodX() {
console.log(action);
}
@Output()操作:EventEmitter=neweventemitter();
恩戈尼尼特(){
emit({initial value}});
}
公共方法x(){
控制台日志(操作);
}
我不确定你是否能像你想的那样做到这一点。EventEmitter只是rxjs主题的抽象。如果您使用主题,您可以使用BehaviorSubject并具有初始值,但默认主题不能。看看这个:为什么您需要从父组件传递操作?我看不出有任何理由分配方法并在将来进行更改,可能是您将有一些特殊情况,请您分享该场景好吗?或者您误解了EventEmitter…@Nostix这只是EventEmitter操作的初始值。我想要一个初始的EventEmitter操作…你说的“EventEmitter操作”是什么意思?就像我在评论中说的:这是为了将初始参数传递给操作。