如何从angular2中编码的url检索查询参数?
如果URL如下所示,我可以获取查询参数: 当浏览器对$、=和进行编码时,我无法检索查询参数?在上面的URL中 编码的URL如下所示: 下面是一段代码,我曾尝试检索该代码。当URL未编码时,查询参数工作正常,但当浏览器对URL编码时,查询参数工作失败如何从angular2中编码的url检索查询参数?,angular,angular2-routing,Angular,Angular2 Routing,如果URL如下所示,我可以获取查询参数: 当浏览器对$、=和进行编码时,我无法检索查询参数?在上面的URL中 编码的URL如下所示: 下面是一段代码,我曾尝试检索该代码。当URL未编码时,查询参数工作正常,但当浏览器对URL编码时,查询参数工作失败 this._activatedRoute.snapshot.queryParams; 我使用的是Angular版本2.3.1,而router版本是3.3.1,这是如何从URL获取参数的示例 url如下所示: import { ActivatedRo
this._activatedRoute.snapshot.queryParams;
我使用的是Angular版本2.3.1,而router版本是3.3.1,这是如何从URL获取参数的示例 url如下所示:
import { ActivatedRoute } from '@angular/router';
import 'rxjs/add/operator/filter';
@Component({ ... })
export class ProductComponent implements OnInit {
order: string;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams
.filter(params => params.order)
.subscribe(params => {
console.log(params); // {order: "popular"}
this.order = params.order;
console.log(this.order); // popular
});
}
}
http://localhost:4200/products?order=popular
那么代码应该是这样的:
import { ActivatedRoute } from '@angular/router';
import 'rxjs/add/operator/filter';
@Component({ ... })
export class ProductComponent implements OnInit {
order: string;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.queryParams
.filter(params => params.order)
.subscribe(params => {
console.log(params); // {order: "popular"}
this.order = params.order;
console.log(this.order); // popular
});
}
}
这可能有助于您构造私有路由:ActivatedRoute,私有路由器:router{}ngOnInit{this.sub=this.route.queryParams.subscribeparams=>{//如果没有提供查询参数,则默认为0。this.page=+params['page']|0;}@KishanOza,它不起作用。正在获取默认值0过滤器中的参数顺序是什么??它是从URL中检索所有的查询参数,还是只检索一个?就像你有这样的URL一样http://localhost:4200/products?order=popular 明白了吗?明白了,但没用。就我而言,我有一位会员。所以当我使用filterparams=>params.member时,IDE显示params上不存在工具。如果我移除过滤器以获取所有查询参数,值为nullu,则可以使用此函数对url decodeURIComponentparamswe进行解码,但仅当params不为空时。我没有得到价值本身。