【问题标题】:How to get query params in an Angular app without the need of state or route [duplicate]如何在不需要状态或路由的情况下在 Angular 应用程序中获取查询参数 [重复]
【发布时间】:2016-12-24 15:12:00
【问题描述】:

我的单页 Angular 应用程序的 url 中需要查询参数。我只需要访问这些数据。

目前,我正在使用 $location.absUrl() 来实现这一点,并在其上运行一个简单的 JS split('?') 来给我查询。

有没有更好的方法来实现这一点,而不涉及路由器或状态的复杂性。

附:今天拿起了 Angular。放轻松!

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您可以使用$location.search() 方法。它返回一个包含所有 url 参数及其值的对象。

    // given url http://example.com/#/some/path?foo=bar&baz=xoxo
    var searchObject = $location.search();
    // => {foo: 'bar', baz: 'xoxo'} 
    

    这个例子取自关于 $location 服务的官方 Angular 文档。 https://docs.angularjs.org/api/ng/service/$location

    【讨论】:

      【解决方案2】:

      您可以使用$location 来处理查询参数。

      例如:你的网址是这样的

      http://blah.com?q1=aa&q2=bb

      然后

      $location.search()

      会给你一个整洁的对象`

      { q1 : "aa", q2 : "bb" }`

      确保在控制器中注入 $location!

      official docs了解更多信息

      【讨论】:

        猜你喜欢
        • 2021-09-03
        • 2022-10-24
        • 1970-01-01
        • 2013-07-04
        • 1970-01-01
        • 2021-09-10
        • 1970-01-01
        • 2018-06-08
        • 1970-01-01
        相关资源
        最近更新 更多