我最近從ui-router 0.0.1遷移到0.2.0。自遷移以來,ui-router無法解析需要注入視圖控制器的命名依賴關係。下面是其正常工作與版本0.0.1但版本0.2.0角度ui路由器無法解析命名依賴關係
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失敗的示例代碼是一個簡單的服務,回報承諾
angular.module('i18nService', [])
.factory('i18nService', ['$http', '$q', function($http, $q) {
var deferred = $q.defer();
$http.get('..').then(..);
return deferred.promise;
}]);
我得到的錯誤「未知提供商: i18nProvider < - 國際化」使用v0.2.0
時如果我改變決心config來:
resolve: {
i18n: function(i18nService) {
return i18nService
}
},
一切工作正常。這是預期的行爲,還是我缺少一些配置?
這裏的plunker:http://plnkr.co/edit/johqGn1CgefDVKGzIt6q?p=preview
你能否創建一個演示該問題的plunkr? – dtabuenc
@dtabuenc我已經更新了plunkr,請看看它。 –