我想使用AngularJS读取URL查询参数的值。我正在使用以下URL访问HTML:
http://127.0.0.1:8080/test.html?target=bob
正如预期的那样,location.search是"?target=bob"。为了访问target的值,我在网络上找到了各种示例,但是在AngularJS 1.0.0rc10中它们都不起作用。特别是以下所有内容undefined:
$location.search.target
$location.search['target']
$location.search()['target']
有人知道什么有用吗?(我将其$location用作控制器的参数)
更新:
我在下面发布了一个解决方案,但是我并不完全满意。开发人员指南:Angular Services:使用$ location中的文档陈述了以下内容$location:
什么时候应该使用$ location?
任何时候您的应用程序需要对当前URL的更改做出反应,或者您想在浏览器中更改当前URL。
对于我的情况,我的页面将从带有查询参数的外部网页打开,因此,我本身并不是在“响应当前URL的更改”。因此,可能$location不是适合该工作的工具(有关丑陋的详细信息,请参见下面的答案)。因此,我已将问题的标题从“如何使用$ location读取AngularJS中的查询参数?”中更改。“在AngularJS中读取查询参数的最简洁方法是什么?”。显然,我可以只使用javascript和正则表达式进行解析location.search,但是对如此基本的内容进行低级设置确实会冒犯我的程序员。
所以:有没有$location比我在回答中更好的使用方法,还是有简洁的替代方法?
相关分类