값을 해결하기 위해 외부 서비스 내의 $transition$
개체에 액세스하려고합니다.각도 -Ui 라우터 외부 서비스에서 해결
$stateProvider.state(
'detailView.showDocument', {
url: '/:documentId',
views: {
'sidebar': {
component: 'thumbnailView',
},
'main': {
component: 'mainView',
}
},
params: {
document: null
},
resolve: {
document: 'resolveDocumentService',
}
}
);
내 서비스는 다음과 같습니다 :
내 상태 정의처럼 보이는 $transition$
객체가 주입 할 수 없기 때문에
service.$inject =[
'$transition$',
];
function service(
$transition$
) {
// do something
}
이 오류를 제공합니다. 그렇다면 $uiRouterGlobals
을 사용하는 해결책을 찾았지만 조금 이상하게 보입니다.
$transition$
개체가 서비스 내에서 전환 값을 확인할 수없는 이유가 있습니까?
resolve: {
document: [ '$transition$', function($transition$) {
// write your logic here as `$transition$` will be available here
} ]
}
이 함수 주사하고, UI 라우터를 자동으로 요구 의존성 주입 다음과 같이
아마도 XY 문제 일 수 있습니다. $ transition $은 로컬 의존성이며 로컬 인 이유는 현재 상태에 로컬이라는 것입니다. 당신의 예제에서 resolveDocumentService는 싱글 톤이 될 것이고 한 번 평가 될 것입니다. 따라서 $ transition $은 아무 쓸모가 없습니다. 거기에 $ transition $로 무엇을 할 작정입니까? – estus
@Martin 사용중인 Angular-ui-router 버전은 무엇입니까? –