如何在Angular应用中获取查询参数,而不需要state或route

How to get query params in an Angular app without the need of state or route

本文关键字:不需要 state route 参数 查询 Angular 应用 获取      更新时间:2023-09-26

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

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

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

注:今天学习了Angular。去简单!

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

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

这个例子摘自Angular关于$location service的官方文档。https://docs.angularjs.org/api/ng/service/美元位置

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

例如:你的URL是

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

然后

$ location.search ()

将返回一个整洁的对象

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

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

请参阅官方文档