ES6 모듈 및 import
문을 사용하기 위해 기존 각도 프로젝트를 리팩토링하려고합니다. 이것은 대부분의 애플리케이션에서 작동하지만 내 경로의 resolve
블록이 문제를 일으 킵니다.AngularJS : route.resolve in ES6
:
$stateProvider.state('stateName'), {
template: <div></div>
controller: 'stateCtrl'
controllerAs: 'ctrl'
resolve: {
someData: ['DataService', function(DataService){
return DataService.getData();
}]
}
}
그러나 someData
에 중단 점을 설정 내 'DataService의이'angulars 의존성 주입에 의해 제대로 해결되지 것을 알려줍니다 (또는 오히려 : 제대로 처리되었지만 아직 초기화되지 않았습니다.) 서비스는 해당 모듈에 등록되지만 someData
-function을 입력하기 전에 생성자가 호출되지 않았습니다.
나는 구문을 잘못 생각 했으므로 비트를 실험 해본 결과 동일한 구문으로 생성되고 DataService
과 동일한 모듈에 등록 된 다른 서비스가 실제로 초기화되고 resolve-block 내에서 올바르게 주입된다는 사실을 발견했습니다. .
어디서 볼 수 있는지 또는 어떻게 해결할 수 있는지 알고 계십니까? 당신이 ES6를 사용하는 경우
그래,하지만이 식별자를 사용하려면 배열 식별자가 필요하다. 위의 내용은'function (Dataservice) {return Dataservice.getData();}의 또 다른 구문입니다. –
잘 사용했습니다/* @ngInject */응답을 업데이트하겠습니다 – rrd
감사합니다 - - 노턴! :) 그 사이에 나는 왜 그것이 인스턴스화 될 수 없었던'DataService'의 중첩 된 의존성을 포함하는 것을 잊었다 고 알았습니다. 위의 구문은 잘 작동합니다! –