尝试访问Angular 2中的查询参数时预期的表达式

时间:2017-08-23 12:24:58

标签: angular2-routing

我尝试使用以下代码访问查询参数。

let name : string = this.route.snapshot?.queryParams.name
        console.log(name);

我收到以下错误:

error TS1109: Expression expected

error TS1005: ':' expected

does not exist on type 'Params'.

如何解决此问题。

1 个答案:

答案 0 :(得分:1)

我认为您的问题在于您对待queryParams的方式。 它返回observable,因此您可以更改代码:

let name: string = '';
this.route.queryParams.subscribe(res => {
                          name = res.ResponseNameProperty;
                          console.log(name);                           
                       });

res.ResponseNameProperty是从复活对象中获取name属性的方式,因此您可以首先检查它的外观,例如console.log(res),然后使用适当的引用。我希望它符合您的问题,在这里您可以找到有关可观察量的其他信息: thoughtramofficial pageSO post