在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';
答案 0 :(得分:2)
根据我的评论,这是一个答案。
_value
是queryParams
的私有成员(不确定类型是什么),因此私有范围意味着无法在定义类之外访问它。
您可能已经意识到JavaScript没有公共和私有范围的概念,因此这意味着在技术上可以使用您的代码访问此成员,但TypeScript编译器将拒绝将您的代码转换为JavaScript,因为它使用私有范围。
此问题的答案提供了获取查询字符串参数的合适方法:How get query params from url in angular2?