【发布时间】:2019-04-12 09:42:47
【问题描述】:
我正在尝试在我的 Angular 应用程序中从 AppComponent 中的 url 获取参数。
但是当我使用 ActivatedRoute 来获取参数时,它给出了 null。这是我的路由器配置。
{
path: '',
component: HomeComponent,
canActivate: [AuthGuard]
},
{
path: 'product/:product',
component: HomeComponent,
canActivate: [AuthGuard]
}
这是我在 AppComponent 中尝试从 url 获取 params 的结果。
constructor(
private route: ActivatedRoute,
private router: Router
) {}
ngOnInit() {
this.route.params.subscribe(params => {
console.log(params['product']); //jsut print the result in console
});
//or can use to get the result
//console.log(this.route.snapshot.params['product'];
}
此代码仅适用于特定组件。那么,有没有合适的方法来获得结果。 [角度 6+]
【问题讨论】:
-
您在哪里订阅 route.params ?它在任何功能内部吗?请提供完整代码
-
@SachinGupta 是的,我编辑了代码
-
它应该可以工作,你能不能创建一个堆栈闪电战来重现这个问题。
-
@SachinGupta 这是有关问题的 stackblitz 链接:angular-9xa95q.stackblitz.io/product/se