获取路径参数以解决
我因为无法使用Angular-UI UI-Router而死亡。我有一个状态定义如下:
$stateProvider .state('member',{ url: '/member/:membersId',templateUrl: 'templates/member.html',resolve : { // From examples for testing simpleObj: function(){ return {value: 'simple!'}; },memberDetails : function(FamilyService,$state) { return FamilyService.getMember($state.current.params.membersId); } },controller: 'MemberController' }); 由于文档说$ stateParams不可用,所以我使用$ state.current.params。应该没事。相反,我会死空气。我无法访问membersId来挽救我的生命。 要测试我的服务,并确保不是问题,我硬编码在一个memberId,控制器获取memberDetails结果以及simpleObj结果。所以,服务和控制器和工作伟大。 硬编码的例子: $stateProvider .state('member',$state) { return FamilyService.getMember('52d1ebb1de46c3f103000002'); } },controller: 'MemberController' }); 即使文档说您无法以决定的方式使用$ stateParams,反正我也尝试过。它也不工作。 返回FamilyService.getMember($ stateParams.membersId); 在世界上我如何获得成员ID参数,以传递给FamilyService以解决? 我没有多少头发要拉出来;所以有人救我。
我终于明白了。这很简单,在文档中。尽管阅读几次,我每次都忽略了。我需要注入$ stateParams来解决:
$stateProvider .state('member',resolve : { simpleObj: function(){ return {value: 'simple!'}; },$stateParams) { return FamilyService.getMember($stateParams.membersId); } },controller: 'MemberController' }); 我仍然不明白为什么文档说这是不可能的。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |