在AngularJS中读取查询参数的最简洁方法是什么?

我想使用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比我在回答中更好的使用方法,还是有简洁的替代方法?


智慧大石
浏览 665回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS