解决这个问题的方法是使用 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
属性来获取路由参数或查询参数。