我发誓,RxJS将会是我的死亡。我很确定这是一个实际的错误,无论是RxJS,Typescript还是Angular的实现。这适用于the RxJS docs page(该网页上的JavaScript控制台可以作为一个RxJS沙箱):Angular/RxJS/Typescript认为我的数据是一个对象而不是数组?
new Rx.Observable(observer => observer.next([{
id: 0,
name: 'John Doe'
}, {
id: 1,
name: 'Jane Smith'
}]))
.map(data => data.filter(item => item.name === 'John Doe'))
.subscribe(data => console.log(data), err => console.log(err))
但完全相同的代码是给我的错误Property 'filter' does not exist on type '{}'.
在我的角度应用。参考data.filter
部分。 data
在这一点上肯定是一个数组,所以我真的不知道为什么它不这么认为。
我已经更新了应用程序正在使用的rxjs版本,但是这并没有改变任何内容。任何援助将不胜感激。没有这些不一致性,RxJS已经够难了!
这是打字稿编译器引发的类型问题。你可以发布你的角码吗? – LLai
嗯有趣的'数据'应该是'任何'类型。这似乎是由Rx引起的。不知道这是否是设计。无论如何要修复它,你可以添加包装在observable中的数据类型,比如'new Rx.Observable'。 –
Hrmm ..任何可再现的?虽然看起来很好。 http://plnkr.co/edit/gKe19SNASo4trdpkjKl5?p=preview – CozyAzure