在AngularJS中读取查询参数的最简洁的方法是什么?
我想使用AngularJS读取URL查询参数的值。我正在访问具有以下URL的HTML:
http://127.0.0.1:8080/test.html?target=bob 正如所料,location.search是“?target = bob”。 > $ location.search.target 任何人都知道什么工作? (我使用$ location作为我的控制器的参数) 更新: 我在下面发布了一个解决方案,但我不完全满意。
对于我的场景,我的页面将从具有查询参数的外部网页打开,所以我不是“对当前URL的更改做出反应”本身。所以也许$ location不是正确的工作(对于丑陋的细节,见我的答案下面)。因此,我改变了这个问题的标题从“如何使用$ location?在AngularJS中读取查询参数?到“在AngularJS中阅读查询参数的最简洁的方法是什么?”。显然,我可以只使用javascript和正则表达式来解析location.search,但是低级的东西,所以基本的真的冒犯我的程序员的感觉。 所以:有一个更好的方式使用$位置比我在我的答案,或有一个简洁的替代?
您可以将
$routeParams注入控制器。这里是文档的一个例子:
// Given: // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby // Route: /Chapter/:chapterId/Section/:sectionId // // Then $routeParams ==> {chapterId:1,sectionId:2,search:'moby'} 编辑:您还可以获取和设置查询参数与$location.search() – 因为$ routeParams在控制器的初始加载后不太有用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |