Angular2无法读取查询字符串参数

时间:2016-12-30 17:33:09

标签: javascript angular parameters

我在Angular2中有一个查询字符串参数,如下所示

  

http://localhost:3000/home/?code=AQCW4xPL

在我的app.route.ts中我有以下配置

 {
  path: 'home/:code',
  component: HomeComponent
 },

并在Init方法的Home Component中尝试按如下方式读取参数

    ngOnInit() {
    /*************************************** */

    var code = this._activatedRoute.snapshot.params['code'];
    console.log(code)
    }

但这会产生空值。 这可能会出错?

1 个答案:

答案 0 :(得分:0)

首先,您需要在路径中传递它,而不是作为查询参数(如http://localhost:3000/home/AQCW4xPL)。其次,您需要订阅可观察的路由参数。这样,如果它们发生变化,您就可以重新加载数据而无需重新加载整个路径/组件。此外,您不应该使用快照变量。如果参数发生变化,我认为你不会得到更新。

this._activatedRoute.params.subscribe(params => {
    console.log(params['code']);
});

现在,如果你转到http://localhost:3000/home/AQCW4xPL,它应该有效。