2014-07-21 3 views
0

매개 변수를 URL에 표시하지 않고 상태에 매개 변수를 전달하는 방법이 있습니까? 의 URL에 추가하지 않고, 나를 $ state.go로로 이동이 상태로 선택적 매개 변수를 전송 할 수있는 방법이 있나요URL 외부의 상태 매개 변수는 무엇입니까?

.state('accounts.content.viewaccounts.details.contacts.edit', { 
     url:'/edit/{contactId:[0-9]{1,10}}', 
     templateUrl: 'app/common/templates/StandardForm.html', 
     resolve: {blahblah} 

:

의 나는 다음과 같은 상태에 있다고 가정 해 봅시다 ?

+0

왜 공유 서비스를 사용하지 않고 상태간에 데이터를 저장합니까? –

+0

나는 그것이 실제로 매개 변수처럼 행동하기를 원하기 때문입니다. 물론 서비스를 통해 할 수는 있지만 매개 변수를 전달하는 것과 비교하면 많은 복잡성이 추가됩니다. – Bogdan

+0

내 예제가 보이지 않을 것입니다. 매개 변수로 수행 할 수 있는지 확실하지 않은 경우, 항상 null 가능 가능 매개 변수를 추가 할 수 있지만 서비스로 완료해야합니다. –

답변

1

당신은 공유 속성 서비스를 사용하여 컨트롤러 사이의 요소를 전달할 수 있습니다 : 당신은 당신이 사용하는 컨트롤러로 이동하기 전에 다음

.service('sharedProperties', function() { 
    var item = null; 
    return { 
     getItem: function() { 
      return item; 
     }, 
     setItem: function(value) { 
      item = value; 
     } 
    }}); 

을 : 새 컨트롤러를 장착 한 후에

sharedProperties.setItem(your-item); 

및 사용 :

var model = sharedProperties.getItem(); 
+0

이것은 상태간에 데이터를 전달하는 동안 작동하지만 질문에 대답하지 않습니다. – Bogdan

+0

좋아요, 다른 해결책이고 문제를 해결할 수 있습니다. 도움이되지 않으면 받아 들일 수 없습니다 ... –

0

아니요. 서비스와 같은 것을 사용하지 않아도됩니다. @ Liad의 대답

관련 문제