Angular router ui nie rozwiązuje nazwanych zależności
Niedawno przeprowadziłem migrację z ui-routera 0.0.1 do 0.2.0. Od czasu migracji ui-router nie rozwiązuje nazwanych zależności, które należy wprowadzić do kontrolera widoku. Oto przykładowy kod, który działa dobrze z ver 0.0.1, ale nie działa w wersji 0.2.0
angular.module( 'sample.test', [
'ui.router',
'i18nService'
])
.config(function config($stateProvider) {
$stateProvider.state( 'mystate', {
url: '/mystate',
resolve: {i18n: 'i18nService'},
views: {
'main': {
controller: 'MyCtrl',
templateUrl: 'templates/my.tpl.html'
}
}
});
})
.controller('MyCtrl', ['i18n', function(i18n) {
// fails to resolve i18n
}]);
i18nService to prosta usługa, która zwraca obietnicę
angular.module('i18nService', [])
.factory('i18nService', ['$http', '$q', function($http, $q) {
var deferred = $q.defer();
$http.get('..').then(..);
return deferred.promise;
}]);
Podczas używania v0.2.0 pojawia się błąd „Nieznany dostawca: i18nProvider <- i18n”
Jeśli zmienię konfigurację rozwiązywania na:
resolve: {
i18n: function(i18nService) {
return i18nService
}
},
wszystko dziala. Czy jest to oczekiwane zachowanie, czy brakuje mi konfiguracji?
Oto plunker:http://plnkr.co/edit/johqGn1CgefDVKGzIt6q?p=preview