Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从angular2中编码的url检索查询参数?_Angular_Angular2 Routing - Fatal编程技术网

如何从angular2中编码的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

如果URL如下所示,我可以获取查询参数:

当浏览器对$、=和进行编码时,我无法检索查询参数?在上面的URL中

编码的URL如下所示:

下面是一段代码,我曾尝试检索该代码。当URL未编码时,查询参数工作正常,但当浏览器对URL编码时,查询参数工作失败

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不为空时。我没有得到价值本身。