1

我有这个:

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();
    }
  }
});

以便静态类型信息是可能的/可用的?

4

1 回答 1

0

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

const event$ = Rx.Observable.fromEvent<KeyboardEvent>(document, "keyup");
于 2018-02-08T01:10:31.683 回答