我想使用AngularJS读取URL查询参数的值。我使用以下URL访问HTML:
http://127.0.0.1:8080/test.html?target=bob
不出所料,location.search
是"?target=bob"
。为了访问target的值,我在web上找到了各种示例,但它们都不适用于AngularJS 1.0.0rc10。具体地说,下面是所有undefined
$location.search.target
$location.search['target']
$location.search()['target']
谁知道什么能行得通吗?(我使用$location
作为控制器的参数)
更新:
我在下面发布了一个解决方案,但我对它并不完全满意。Developer Guide: Angular Services: Using $location上的文档介绍了以下有关$location
的内容
什么时候应该使用$location?
任何时候您的应用程序需要对当前URL中的更改做出反应,或者您希望在浏览器中更改当前URL。
对于我的场景,我的页面将从带有查询参数的外部网页打开,因此我本身并不是“对当前URL中的更改做出反应”。因此,也许$location
不是适合这项工作的工具(关于丑陋的细节,请参阅下面的答案)。因此,我将这个问题的标题从“如何使用$location在AngularJS中读取查询参数?”修改为“在AngularJS中读取查询参数的最简洁方法是什么?”显然,我可以只使用javascript和正则表达式来解析location.search
,但是对于如此基本的东西进行如此低级的解析确实冒犯了我的程序员的敏感性。
那么:有没有比我的回答更好的方式来使用$location
,或者有没有一个简洁的替代方法?
https://stackoverflow.com/questions/11063673
复制相似问题