我正在尝试过滤角度事件,但是打字稿不喜欢它。使用此代码:
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) => {