使用Angular,在typescript
流中使用fat arrow functions
时,我经常会遇到rxjs
编译错误。
我仍然可以运行应用程序而且它确实可以转换,但我想知道如何摆脱错误并理解它。
假设:
this.data$ = this.route.params
.switchMap(params =>
Observable.forkJoin([
Observable.of(params),
this.http.get('/api', { param1: params.param1, param2: params.param2 })
])
//**Errors from this part below**
.map(([params, data]) => data.prop1 + ' - ' + params.param1)
我收到了错误:
[at-loader]中的错误 file.ts:XX:XX TS2339:属性'prop1'在类型'{}'上不存在。
[at-loader]中的错误 file.ts:XX:XX TS2339:属性'param1'在类型'{}'上不存在。
为什么抱怨这个?
答案 0 :(得分:1)
试试这个:
this.data$ = this.route.params
.switchMap((params: any) =>
Observable.forkJoin([
Observable.of(params),
this.http.get('/api', { param1: params.param1, param2: params.param2 })
])
//**Errors from this part below**
.map(([params, data]: [any, any]) => data.prop1 + ' - ' + params.param1)