使用this.activeRoute.queryParams._value访问angular2中的查询字符串参数

时间:2017-03-01 15:44:41

标签: angular typescript

在chrome中调试时,我可以看到这个对象:

this.activeRoute.queryParams._value

activeRoute在我的构造函数中传递为 private activeRoute: ActivatedRoute

当我使用vs代码并输入this.activeRoute.queryParams时,._value不是可用对象。是否可以访问该对象?

只想发布我最终使用的代码。

this.activeRoute.queryParams.subscribe((params: Params) => {
    let context = params['context'];
    this.context = context;
  });

也不要忘记将Params添加到import语句

 import {Router, ActivatedRoute, Params} from '@angular/router';

1 个答案:

答案 0 :(得分:2)

根据我的评论,这是一个答案。

_valuequeryParams的私有成员(不确定类型是什么),因此私有范围意味着无法在定义类之外访问它。

您可能已经意识到JavaScript没有公共和私有范围的概念,因此这意味着在技术上可以使用您的代码访问此成员,但TypeScript编译器将拒绝将您的代码转换为JavaScript,因为它使用私有范围。

此问题的答案提供了获取查询字符串参数的合适方法:How get query params from url in angular2?