如何从Angular 7中的url获取数据

时间:2019-03-06 11:24:34

标签: angular routing angular-router

我在多个页面中使用了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 {}

在控制台中。 请帮我如何从路线获取参数 如果我弄错了,请显示此方法的最佳方法。 谢谢。

2 个答案:

答案 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