Angular2将编译器错误抛出到subscribe()中运行的东西

时间:2016-09-12 12:21:52

标签: angular

我有一个textarea,我想听听keyup事件。除了Angular2抛出编译时错误(不是运行时)之外,一切正常。

错误:

  

错误TS2339:属性'目标'类型' {}'。

上不存在

代码:

Observable.fromEvent(this.editor.nativeElement, 'keyup')
          .debounceTime(500)
          .subscribe(event => this.hasError = !this.isValidJSON(event.target.value));

显然,错误表明event是一个空对象。

正如我所说,keyup事件和我的应用程序运行良好,但这个错误很烦人,我想摆脱它。如何在编译时中抱怨事件是一个空对象?它从未运行过,在运行期间一切正常。

1 个答案:

答案 0 :(得分:1)

您需要转换为适当的类型:

我建议你转发KeyboardEvent(继承自ES6的Event),如果你只是想摆脱错误,请使用any

subscribe((event: KeyboardEvent) => ...);

subscribe((event: any) => ...);

如果您只是使用Event,可能会自动从Event导入@angular/router混合。

[1]