2015-01-13 18 views
1

stateParams에 문제가 있습니다. 이전에이 문제가 발생하지 않았지만 전화를 걸 때 상태에 아무 것도 전달하지 못하는 것 같습니다.state.go()를 호출 할 때 stateParams를 사용할 수 없음

인구 통계 섹션을 보면 템플릿 URL에 대한 함수를 반환한다는 것을 볼 수 있지만 GUID를 하드 코딩 할 때 잘 작동하지만 personId 변수는 항상 정의되지 않습니다. 그러나 나는이 일을 일으키기 위해 무엇을했는지 알아 내려고 노력하고 있지만, 나는 내 삶을 살아갈 수 없다.

memberApp.config(function ($stateProvider, $urlRouterProvider, $locationProvider) { 
    $stateProvider.state('quickScreen', { 
     url: "#/Components/QuickScreen", 
     templateUrl: "/Components/QuickScreen/index.html", 
     controller: "quickScreenController", 
    }); 

    $stateProvider.state('quickScreen.detail', { 
     url: '#/quickScreen/:step', 
     templateUrl: function ($stateParams) { 
      console.log($stateParams.step); 
      return "/Components/QuickScreen/" + $stateParams.step + "/" + $stateParams.step + ".html"; 
     } 
    }); 

    $stateProvider.state('demographics', { 
     views: { 
      "memberDemographics": { 
       templateUrl: function ($stateParams) { 
        console.log("PersonId: " + $stateParams.personId); 
        //return '/Demographics/Index/' + $stateParams.personId; 
        return '/Demographics/Index/' + 'f75fb494-xxxx-xxxx-xxxx-a17b01336ca5'; 
       }, 
       controller: 'demographicsSearchController' 
      } 
     }, 

    }); 
}); 

memberApp.controller('memberAppController', function ($scope, $state, $stateParams) { 

    console.log("About to load to demographics"); 
    $state.go('demographics', { personId: 'f75fb494-fe7a-4564-be93-a17b01336ca5' }); 
}); 
+0

맞습니다. URL을 변경하지 않으려 고하기 때문에 방금 알아 낸 것은 상태 구성에 {personId : {}} 매개 변수를 포함해야한다는 것입니다. http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$stateProvider – Kenn

답변

0

당신은 우리 stateParams에서 특정 아이디를 가지고 몇 가지 변수에 할당하면 그 변수를 사용하거나 수, 이것으로 시도 할 수 U 수있는 사용자 direactly
($ state.go ('인구 통계', {personId : $ stateParams.personId});).

memberApp.controller('memberAppController','$stateParams','$scope','$scope', 
function ($scope,$state, $stateParams) 
{ 
    console.log("About to load to demographics"); 
    var Id = $stateParams.personId; 
    $state.go('demographics', { personId: Id });   
}); 
+0

그게 효과가 있습니다 - 이것은 ui-serf의 문제입니다. 나는 personId를 볼 수 있습니다. 링크하지만 상태 params에 넣고되지 않습니다. – Kenn

관련 문제