我在app-routing.module.ts
中设置了这样的路线const routes: Routes = [
{ path: 'faq', component: FaqComponent, data:[{title:"FAQ"}]},
....]
我可以很好地从FaqComponent内部访问data属性。
export class FaqComponent implements OnInit {
constructor(private route:ActivatedRoute) { }
ngOnInit() {
console.log("faq data-snapshot", this.route.snapshot.data);
...
我想要做的是从我的主要组件(包含路由器)访问数据对象,这样我就可以以某种方式设置标题。
这些是我目前没有努力的工作。数据对象永远不会出现在日志中。
export class AppComponent implements OnInit{
constructor(
private route: ActivatedRoute,
private router: Router) {
}
ngOnInit(): void {
console.log("data-snapshot", this.route.snapshot.data);
this.route.data.toPromise().then( data => {
console.log("data", data);
}, data=>{
console.log("some problem with data", data);
});
this.router.events.subscribe(event=>{
console.log("router event: ", event);
if (event instanceof RoutesRecognized){
let rec:RoutesRecognized = event;
console.log("route rec data", rec.state.root.data);
}
});
}