为什么打字稿会忽略RXJS过滤器



我正在尝试过滤角度事件,但是打字稿不喜欢它。使用此代码:

this.router.events
.filter(e => e instanceof RoutesRecognized)
  .subscribe(data => {
    console.log(data.state.root.firstChild.data[0])
  });

工作并输出我放入路由配置中的所有静态数据,例如:

{ path: 'about', component: AboutContainer, data: [{ Foo: 'bar' }] }

除外,打字稿会引发错误消息:

error TS2339: Property 'state' does not exist on type 'Event'. 
Property 'state' does not exist on type 'NavigationStart'.

因此,它可以正常工作,但是错误消息很烦人。我可以将控制台.log包裹在if data instanceof RoutesRecognized中,但看起来很脏。有人知道如何使用RXJ停止错误吗?

@echonax建议的 .subscribe((data: any) => {效果很好。我最终被认为是更具体的。这删除了错误消息:

.subscribe( (data: RoutesRecognized) => {

相关内容

  • 没有找到相关文章

最新更新