解决这个问题的方法是使用 ActivatedRouteSnapshot 的 data 属性来获取路由快照中的数据。
以下是一个示例代码:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router';
@Component({
selector: 'app-my-component',
template: `{{ dataValue }}
`
})
export class MyComponent implements OnInit {
dataValue: string;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
const snapshot: ActivatedRouteSnapshot = this.route.snapshot;
this.dataValue = snapshot.data.myData;
}
}
在上面的代码中,我们首先引入了 ActivatedRoute 和 ActivatedRouteSnapshot,然后在组件的构造函数中注入了 ActivatedRoute。
在 ngOnInit 方法中,我们使用 this.route.snapshot 来获取当前路由的快照。然后,我们可以通过访问 snapshot.data 属性来获取路由快照中的数据。在示例中,我们假设数据的键是 myData,并将其赋值给 dataValue 属性。
最后,在组件的模板中,我们使用插值表达式 {{ dataValue }} 来显示数据的值。
请注意,这种方法只适用于获取路由快照中静态的、在路由配置中定义的数据。如果你需要获取动态的路由数据,你可以使用 paramMap 或 queryParams 属性来获取路由参数或查询参数。