2017-12-13 5 views
0
나는 사용자 정의 메뉴 어떤 종류의 일을하고있어

, 우리는 AngularJS와의 v1.6.7 및 ui.router을 사용하는 문자열에 $ state.params을 대체 ui.router, 내 상태를 보이는 같은 : 그래서AngularJS와는

.state('programs', 
    { 
     url: '/programs/:id', 
     component: 'programs', 
     //below is our custom menu object 
     menu: { 
      name: 'Program id :id' 
     } 
    }) 

, 나는이 상태로 HTML에서 ui-sref="programs({id: '123'})"로 간다. 그 후 코드 어딘가에 let currentState = $state.current을 사용하여 현재 상태를 가져온 다음 currentState.menu.name과 같은 이름을 표시하려고 시도합니다. 결과는 Program id :id입니다. 내 질문은이 문자열의 'id'매개 변수를 어떻게 바꿉니 까? 이 작업을 수행하기 위해 공개 된 ui.router 메서드가 있습니까? ui.router는 어떻게 든 이러한 매개 변수를 사용하여 예를 들어 URL을 채 웁니다. 따라서 URL에 123 대신 : id가 표시됩니다. 내 $state.params 님의 ID 필드는 {#:null, id:123}입니다.

답변

1

그런 다음 컨트롤러 및 범위에서 사용할 수있는의 resolve 방법을 사용하여 URL 매개 변수를 전달할 수 있습니다

{ 
     url: '/programs/:id', 
     component: 'programs', 
     menuData: function($stateParams){ 
      return { 
      id: $stateParams.id 
      } 
     }, 
     controller: function($scope, menuData){ 
     // Now you can use it, either in a template, etc. 
     $scope.id = menuData.id 
     } 
    }) 

확인 자세한 단계

를위한 아웃이 link