首页 文章

如何从angular2中的编码网址中检索查询参数?

提问于
浏览
0

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

http:// localhost:4200 / member / 0?members = 1&facility = 1&field = name&criteria = contains&string = black

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

编码的URL如下所示:

http:// localhost:4200 / ccm / member / 0 / search / submitted%3Fmembers%3D1%26facility%3D1%26field%3Dname%26criteria%3Dcontains%26string%3Dblack

下面是我试图检索查询参数的代码段(当URL未编码时工作正常,但在浏览器对URL进行编码时失败) .

this._activatedRoute.snapshot.queryParams;

this._activatedRoute.queryParams.subscribe(value=> {
   console.log('here');
   console.log(value);
});

我使用的是Angular版本 2.3.1 ,路由器版本是 3.3.1

1 回答

  • 1

    这是如何从URL获取参数的示例 .

    网址是这样的:

    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
          });
      }
    }
    

相关问题