从Observable.fromEvent()

时间:2018-02-08 00:06:44

标签: rxjs rxjs5 angular2-observables angular-observable

我有这个:

this.keydownSub = Observable.fromEvent(document, 'keyup').subscribe(v => {

  if(v){
    if(v.keyCode == '37'){
      this.goLeft();
    }
    if(v.keyCode == '39'){
      this.goRight();
    }
  }
});

问题在于变量v没有类型信息,因为事件类型是动态的(' keyup'被使用)。

有没有办法使用这样的东西:

this.keydownSub = Observable.fromEvent(document).keyUp().subscribe(v => {

  if(v){
    if(v.keyCode == '37'){
      this.goLeft();
    }
    if(v.keyCode == '39'){
      this.goRight();
    }
  }
});

这样可以获得静态输入信息吗?

1 个答案:

答案 0 :(得分:1)

fromEvent可观察创建者是一个通用函数。如果您知道与事件对应的类型,则可以将该类型指定为类型参数。像这样:

const event$ = Rx.Observable.fromEvent<KeyboardEvent>(document, "keyup");