首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用ui-router for AngularJS提取查询参数?

如何使用ui-router for AngularJS提取查询参数?
EN

Stack Overflow用户
提问于 2013-09-27 23:00:57
回答 6查看 96.6K关注 0票数 66

如何使用AngularJS的ui-router提取查询参数?

在AngularJS自己的$location服务中,我做到了:

($location.search()).uid

从URL中提取参数uid。ui-router对应的代码是什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-09-28 06:07:59

除非绑定到查询参数(参见文档),否则不能直接通过$state$stateParams访问它们。使用$location服务。

EDIT: Per the docs,如果您想在$stateParams中捕获查询参数,可以将一个?附加到您的url中,并为每个查询参数命名,以&分隔,即url: "/foo?bar&baz"

票数 59
EN

Stack Overflow用户

发布于 2013-11-24 00:58:07

请参阅URL routing documentation的查询参数部分。

您还可以将参数指定为查询参数,跟在‘?’后面:

url:"/contacts?myParam“//将与"/contacts?myParam=value”的url匹配

对于此示例,如果url为/contacts?myParam=value,则$state.params的值将为:

代码语言:javascript
复制
{ myParam: 'value' }
票数 103
EN

Stack Overflow用户

发布于 2015-12-10 09:13:29

ui路由器不像$location服务那样区分url中的不同类型的参数。

在您的控制器中,您可以使用$stateParams服务来访问url中所有不同类型的参数。

下面是一个来自ui-router wiki的示例:

代码语言:javascript
复制
// Then you navigated your browser to:
'/users/123/details/default/0?from=there&to=here'

// Your $stateParams object would be
{ id:'123', type:'default', repeat:'0', from:'there', to:'here' }

因此,在您的示例中,要查找uid参数,只需使用:

代码语言:javascript
复制
$scope.uid = $stateParams.uid
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19053991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档