【发布时间】:2016-12-24 15:12:00
【问题描述】:
我的单页 Angular 应用程序的 url 中需要查询参数。我只需要访问这些数据。
目前,我正在使用 $location.absUrl() 来实现这一点,并在其上运行一个简单的 JS split('?') 来给我查询。
有没有更好的方法来实现这一点,而不涉及路由器或状态的复杂性。
附:今天拿起了 Angular。放轻松!
【问题讨论】:
标签: javascript angularjs
我的单页 Angular 应用程序的 url 中需要查询参数。我只需要访问这些数据。
目前,我正在使用 $location.absUrl() 来实现这一点,并在其上运行一个简单的 JS split('?') 来给我查询。
有没有更好的方法来实现这一点,而不涉及路由器或状态的复杂性。
附:今天拿起了 Angular。放轻松!
【问题讨论】:
标签: javascript angularjs
您可以使用$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
【讨论】:
您可以使用$location 来处理查询参数。
例如:你的网址是这样的
http://blah.com?q1=aa&q2=bb
然后
$location.search()
会给你一个整洁的对象`
{ q1 : "aa", q2 : "bb" }`
确保在控制器中注入 $location!
在official docs了解更多信息
【讨论】: