我想使用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
用作控制器的参数)
更新:
我在下面发布了一个解决方案,但我并不完全满意.开发人员指南中的文档:Angular Services:使用$ location表示以下内容$location
:
我什么时候应该使用$ location?
任何时候您的应用程序需要对当前URL中的更改做出反应,或者您想要在浏览器中更改当前URL.
对于我的场景,我的页面将从具有查询参数的外部网页打开,因此我本身并不"对当前URL的更改作出反应".所以也许$location
不是适合这项工作的工具(对于丑陋的细节,请参阅下面的答案).因此,我更改了"如何使用$ location在AngularJS中读取查询参数?"这个问题的标题."在AngularJS中读取查询参数的最简洁方法是什么?" 显然我可以使用javascript和正则表达式进行解析location.search
,但是对于那些基本的东西来说,这种低级别的东西真的会冒犯我的程序员的敏感性.
所以:有没有$location
比我在答案中更好的使用方式,或者是否有简洁的替代方案?
AngularJS访问cookie的方式是什么?我已经看到了对cookie的服务和模块的引用,但没有示例.
是否存在或者没有AngularJS规范方法?