Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何设置事件发射器的初始值_Angular_Typescript - Fatal编程技术网

Angular 如何设置事件发射器的初始值

Angular 如何设置事件发射器的初始值,angular,typescript,Angular,Typescript,我有一个“行动”。如何设置初始值?例如,在我将其更改为“methodY”之前,它始终是“methodX” 大概是这样的: export class FieldComponent { @Output() action: EventEmitter<any> = methodX; constructor() { } public methodX() { } } 导出类字段组件{ @Output()操作:EventEmitter=methodX; 构造函数(){ }

我有一个“行动”。如何设置初始值?例如,在我将其更改为“methodY”之前,它始终是“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操作”是什么意思?就像我在评论中说的:这是为了将初始参数传递给操作。