Angular 2获取所有查询字符串

时间:2017-04-26 08:57:39

标签: angular typescript

是否有自动方式我可以在地址栏中获取所有查询字符串,而不知道名称是什么?

例如,我希望得到以下所有内容:

reports?api=Report1&from=&to=&agentId=2&status=1&fixtureId=3&gradeId=4

我到处都看过,但我只能看到只有你知道这个名字才能得到的例子。

2 个答案:

答案 0 :(得分:0)

我不确定答案是否应该以某种方式与角度有关,但一个简单的解决方案是:

  1. location.search - 获取所有参数的查询字符串

  2. https://www.npmjs.com/package/query-string - 为方便起见,将queryString转换为params对象的精美包。

答案 1 :(得分:0)

  • 导入ActivatedRoute

    import { ActivatedRoute } from "@angular/router";

  • 并在构造函数

    上初始化

    constructor(private activatedRoute: ActivatedRoute) { }

  • 然后使用以下代码获取查询字符串

        this.activatedRoute.params.subscribe(params => {
             let from = params['from'];                
        });
    

修改

this.activatedRoute.params包含所有查询字符串。但如果你想获得价值,那么你应该去订阅。或获取整个URL并需要使用split(); URL来获取查询字符串。