我在多个页面中使用了One组件。 我想从每个组件发送一个参数以显示任何不同的数据。 因此,我使用以下代码来调用HTML中的每个组件:
<a [routerLink]="['categories']" >Page1</a>
<a [routerLink]="['categories']" >Page2</a>
现在在路线中,我已使用此代码
{path:'Page1' ,component : ProductCategoriesPagesComponent ,data : {PageNo : 1}},
{path:'Page2' ,component : ProductCategoriesPagesComponent,data : {PageNo : 2}}
然后我在 ProductCategoriesPagesComponent
中使用了此代码ngOnInit() {
this.route.data
.subscribe(data => {
console.log("data",data);
});
}
但是我得到
data {}
在控制台中。 请帮我如何从路线获取参数 如果我弄错了,请显示此方法的最佳方法。 谢谢。
答案 0 :(得分:1)
您需要注入ActivatedRoute
并从快照中获取数据。
this.activatedRoute.snapshot.data['PageNo'];
答案 1 :(得分:0)
You can access the data by accessing the route's snapshot like the following:
this.route.snapshot.data['PageNo'];
So you can do the above instead of subscribing to the observable