我在Angular2中有一个查询字符串参数,如下所示
在我的app.route.ts中我有以下配置
{
path: 'home/:code',
component: HomeComponent
},
并在Init方法的Home Component中尝试按如下方式读取参数
ngOnInit() {
/*************************************** */
var code = this._activatedRoute.snapshot.params['code'];
console.log(code)
}
但这会产生空值。 这可能会出错?
答案 0 :(得分:0)
首先,您需要在路径中传递它,而不是作为查询参数(如http://localhost:3000/home/AQCW4xPL)。其次,您需要订阅可观察的路由参数。这样,如果它们发生变化,您就可以重新加载数据而无需重新加载整个路径/组件。此外,您不应该使用快照变量。如果参数发生变化,我认为你不会得到更新。
this._activatedRoute.params.subscribe(params => {
console.log(params['code']);
});
现在,如果你转到http://localhost:3000/home/AQCW4xPL,它应该有效。