我正在寻找具有此过滤器的示例:
Observable.fromEvent(this.getNativeElement(this.btn), 'click')
.filter(event => event.shiftKey)
.map(event => 'Beast Mode Activated!!!')
.subscribe(message => this.message = message);
这个引用"rxjs": "5.0.0-beta.5"
在我的项目中,我收到错误:
[ts] Property 'shiftKey' does not exist on type '{}'. any
我引用了"rxjs": "5.0.0-beta.12"
我在两种情况下都有同样的错误。
这就是我在进口中所获得的:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/map';
答案 0 :(得分:2)
因为event
.filter(event => event.shiftKey)
它只被视为{}
类型。你可以"演员"它或指定类型
.filter((event: any) =>
.filter((event: ExpectedEventType) =>
.filter(event => (<any>event).shiftKey)
其中任何一个都应该有用。使用ExpectedEventType
时,应将其替换为实际的事件类型。这只有在你关心强打字的情况下才有用。如果这不是问题,那么使用any
应该没问题。